我想很多朋友以前做数据库移动或备份时都是直接使用人工来制作吧,下面我来介绍利用Sql Server脚本来实现,有需要学习的朋友可参考。
注意事项:这个脚本只有2个参数需要输入,即:目标名字和目标目录
例1
代码如下 | 复制代码 |
USE master DECLARE
SELECT
SELECT spid OPEN curProcess -- query physical name --set offline --move to dest path -- set online -- show result |
例2
创建一个sqlserver的代码模板,加上一个创建表的模板。开发的时候可以拷贝过去直接改动一下就可以用了
代码如下 | 复制代码 |
USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTemp --如果数据库存在先删掉数据库 END GO CREATE DATABASE HkTemp ON PRIMARY --创建主数据库文件 ( NAME='HkTemp', FILENAME='E:DatabasesHkTemp.dbf', SIZE=5MB, MaxSize=20MB, FileGrowth=1MB ) LOG ON --创建日志文件 ( NAME='HkTempLog', FileName='E:DatabasesHkTemp.ldf', Size=2MB, MaxSize=20MB, FileGrowth=1MB ) GO --添加表 IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Hksj_User') AND type in (N'U')) BEGIN CREATE TABLE Hksj_User ( Id INT IDENTITY(1,1) NOT NULL, SName NVARCHAR(20) NOT NULL, SNickName NVARCHAR(20), SPassWord NVARCHAR(30) NOT NULL, DCreateDate DATETIME , SCreator NVARCHAR(20), SEmail NVARCHAR(50), SPhone NVARCHAR(50), SIdentifyId NVARCHAR(30), DLastTimeLogOn DATETIME PRIMARY KEY CLUSTERED ( Id ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO --添加注释 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登录名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Hksj_User', @level2type=N'COLUMN',@level2name=N'SName' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮箱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Hksj_User', @level2type=N'COLUMN',@level2name=N'SEmail' |