SQL SERVER 2008数据库附加
2008数据库附加
/*
网上看到的整理了一下。
原文地址http://database.51cto.com/art/201003/190984.htm
在SQL Server 7.0中,微软推出了sp_attach_db和sp_attach_single_file_db系统存储过程。
它对于SQL Server数据库管理员执行下面的任务是非常方便的:
1 使用sp_attach_db系统存储过程直接将.MDF和.LDF文件附加到服务器。
2 使用sp_attach_single_file_db系统存储过程只附加.MDF文件。
3 使用sp_detach_db将数据库从一个服务器分离,复制.MDF文件到另一个服务器上,然后使用
sp_attach_db系统存储过程重新附加这些文件到两个服务器上。
尽管它对于SQL Server数据库管理员是很有用的,但是在使用这两个存储过程时是有一些限制的。限制如下:
1 你不能附加多个日志文件
2 你不能附加个以上的文件
在SQL Server 2008中,微软宣布上面的系统存储过程将在未来的版本中被废弃。而他们在"Create Database"
SQL语句中添加了一个从句"For Attach"。
下面介绍使用"For Attach"从句的多种方法,以克服在使用sp_attach_db和sp_attach_single_file_db时要面临的限制。
*/
--建立测试数据库
Use Master
go
CREATE DATABASE TestDB
ON
( NAME = TestDB,
FILENAME = 'D:\TestDB.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = TestDB_log,
FILENAME = 'D:\TestDB_log.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )
GO
--现在,让我们分离该数据库,并尝试使用sp_detach_db和sp_attach_db将它重新附加。
--执行下面的事务SQL语句。
use master
go
sp_detach_db 'TestDB'
go
sp_attach_db 'TestDB',
'D:\TestDB.mdf',
'D:\TestDB_log.ldf'
GO
--你也可以使用具有"For Attach"从句的"Create database
相关文档:
一、创建一张空表:
Sql="Create TABLE [表名]"
二、创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
2 : "SmallInt", // 整型
3 : "Int", ......
SQLServer和Oracle的常用函数对比
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value fr ......
SQL语句的优化就是将性能较低的SQL语句转换达成同样目的性能优异的SQL语句
下面我们一起来看看一些可以优化SQL的方法,希望大家多提出意见我们共同学习或者是大家有什么好的优化方法可以提出来共享一下。
第一种优化(使用指定列代替”*”)
使用“*”可以降低编写SQL语 ......
1。企业管理器
打开你建有外键的表--右击表--设计表--在上方点开’管理约束‘--将级连删除和级连更新的沟打上就可以了
2。查询分析器
alter table sc
add
constraint forei ......
本文来自:http://hi.baidu.com/darkroot/blog/item/7b74be2cf06d76e78b139903.html
declare @tbName nvarchar(500)
declare @ct int
declare @csql nvarchar(500)
declare &n ......