SQL代码的通用导出

时间:2015-02-03 23:11:12

标签: sql sql-server

我从同事那里获得了一些SQL代码,这些代码应该创建一个新的数据库和许多包含一些内容的表。但是,这个脚本附带了一些用户特定的"定义

例如

CREATE DATABASE [mydatabase] ON  PRIMARY 
( NAME = N'mydatabase', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mydatabase.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'mydatabase_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mydatabase_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

由于我的机器上没有所需的文件,我只是通过

解决了这个问题
CREATE DATABASE [mydatabase]

然后是以下一行

CREATE USER "abc\def" FOR LOGIN "abc\def" WITH DEFAULT_SCHEMA=[dbo]

产生了此错误

Windows NT user or group 'abc\def' not found. Check the name again.

我还没有解决这个问题,但我担心,会有更多的困难,因为SQL代码相当长。

有没有办法导出整个代码"一般",以便它会立即在每台机器上运行?

1 个答案:

答案 0 :(得分:0)

不,没有。在这种情况下,abc\def是指def域上名为abc的域用户(或组)。另一方面,您不一定需要用户拥有完整的数据库。事实上,您可能会认为指定自己的安全性而不是依赖导入的集合更为重要。