惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Simon Willison's Weblog
Simon Willison's Weblog
B
Blog
V
Visual Studio Blog
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
博客园 - 司徒正美
博客园 - 【当耐特】
T
Tenable Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium
S
Secure Thoughts
Hugging Face - Blog
Hugging Face - Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
IT之家
IT之家
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
PCI Perspectives
PCI Perspectives
H
Hackread – Cybersecurity News, Data Breaches, AI and More
阮一峰的网络日志
阮一峰的网络日志
P
Privacy International News Feed
N
News and Events Feed by Topic
H
Hacker News: Front Page
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure
Google Online Security Blog
Google Online Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Heimdal Security Blog
Project Zero
Project Zero
C
CERT Recently Published Vulnerability Notes
MyScale Blog
MyScale Blog
AI
AI
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
WordPress大学
WordPress大学
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CXSECURITY Database RSS Feed - CXSecurity.com
Spread Privacy
Spread Privacy
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
SecWiki News
SecWiki News
C
Cisco Blogs
The Last Watchdog
The Last Watchdog

博客园 - kwklover

给同为.NET开发者普及一点Oracle数据库经验 使用mencoder转换flv为ipad/iphone下能播放的mp4格式 Lucene.net常见功能实现知识汇总 Lucene 1.9 多目录搜索的的一个bug 众里寻他千百度,蓦然回首,那人却在灯火阑珊处 问题总结:判断MS SQLSERVER临时表是否存在 小技巧:处理ASP提交的参数是经过GB2312 URL编码的 Lucene.net实现自定义排序笔记 模版引擎AderTemplate源代码分析笔记 面向搜索的中文分词设计 需要整理研究的搜索引擎技术点(目录,无实际价值) 试用了一下Sqlite,总结和整理一下参考资料 数据结构与算法学习记录:快速排序 小总结:DotLucene如何才能快速生成索引? 小总结:如何表达用户是否禁止的概念 ? Web Spider提取编码方法总结 WebSpider的编码问题(乱码)浅析 VS2005 Winform程序不能启动调试,别忘了启动Terminal Services服务[记录] 系统问题解决记录:IIS 500内部错误之解决办法
T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库
kwklover · 2007-05-11 · via 博客园 - kwklover

一,用T-SQL创建数据库
简单的:
数据名:Sales
数据库主文件路径全名:d:\dbfiles\sales_dat.mdf
日志文件路径全名:d:\dbfiles\sales_log.ldf
注意,目录一定要存在,否则会创建失败。
create database Sales
on primary
(
 name='salesdb',  --文件逻辑名
 filename='d:\dbfiles\sales_dat.mdf', --文件磁盘文件路径全称
 size=5, --初始化大小
 maxsize=15, --最大值
 filegrowth=1 --增量
)
log on
(
  name='saleslog',
  file='d:\dbfiles\sales_log.ldf',
  size=5,
  maxsize=15,
  filegrowth=1
)
go

复杂的:有多个次数据库文件和次日志文件的情况.
create database Sales
on primary
(
  name='sales1',
  filename='d:\dbfiles\sales1_dat.mdf',
  size=5,
  maxsize=10,
  filegrowth=1
),
(
  name='sales2',
  filename='d:\dbfiles\sales2_dat.ndf',
  size=5,
  maxsize=10,
  filegrowth=1
)
,
(
  name='sales3',
  filename='d:\dbfiles\sales3_dat.ndf',
  size=5,
  maxsize=10,
  filegrowth=1
)
log on
(
  name='saleslog1',
  file='d:\dbfiles\sales1_log.ldf',
  size=5,
  maxsize=15,
  filegrowth=1
)
,
(
  name='saleslog2',
  file='d:\dbfiles\sales2_log.ldf',
  size=5,
  maxsize=15,
  filegrowth=1
)

二,用T-SQL修改数据库名
exec sp_renamedb 'DBName','NewDBName'
注意,必须在单用户模式下才可以改名,所以完整的写法:
exec sp_dboption 'DBName','single user',true
exec sp_renamedb 'DBName','NewDBName'
exec sp_dboption 'NewDBName','single user',false
上面的是书上的资料上说的。不过在SQL SERVER2005 Express下测试:
exec sp_dboption 'dbname','single user',false --转为非单用户模式
exec sp_renamedb 'dbname','NewDBName' --一样执行成功,说明上面所说的
对SQL SERVER2005 Express不适合。
那么SQL SERVER2000呢?暂没有测试环境。不得而知。

三,用T-SQL修改数据库文件路径,大小等信息
alter database
modify file(name='逻辑文件名(必须)',filename='文件路径',size=数字)
filename,size,maxsize,filegrowth,可以全部一起修改,也可以只修改其中一部分。
注意情况:
1,在SQLSERVER2005 Express下修改了filename,文件不会自动移动,需要手移动才正常。
2,size修改的值必须大于文件当前的大小。
3,如果要缩小数据库文件的大小,需使用下面的T-SQL:
 use dbname
 dbcc shrinkfile('逻辑文件名',大小)

四,用T-SQL修改数据库的结构
在现有数据库基础上添加新数据库文件
alter database dbname
add file
(
  name='',file='',size=,....
)
go

在现有数据库基础上添加新日志文件
alter database dbname
add log file
(
 name='' , file='' , size=,....
)

在现有数据库基础上移除文件
alter database dbname
remove file 文件逻辑名  --注意逻辑名不需要' '包起来


遗留问题:如何在移除文件之前,把数据移动到别的文件上去?

五,用T-SQL删除数据库文件
drop database dbname

遗留问题:如果在使用当中,是不允许删除的。如果用T-SQL强制删除?

六,用T-SQL判断数据库是否存在
可以用DB_ID ( [ 'database_name' ] )函数判断,函数的用作:返回当前数据库的数据库 ID,不存在返回NULL
if db_id('databasename') is null
   print '不存在'
else
   print '存在'

附加说明:
以上T-SQL在SQL SERVER 2005 EXPRESS测试通过。