2015-02-03 4 views
0

У меня есть код SQL от коллеги, который должен создать новую базу данных и множество таблиц с некоторым контентом. Однако этот скрипт содержит некоторые «пользовательские» определения.Общий экспорт кода 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. 

Я еще не исправил это, но, боюсь, будет больше diffuculties, так как код SQL довольно длинный.

Есть ли способ экспортировать весь код «в общем», чтобы он сразу запускался на каждой машине?

+0

Нет, если вы хотите создать логины для существующих пользователей. Пользователь должен быть действительным на машине, прежде чем вы сможете добавить логин. Если вам не нужно добавлять логины, вы можете удалить все эти строки. –

ответ

0

Нет, нет. В этом случае abc\def относится к пользователю (или группе) домена, который называется def в домене abc. С другой стороны, пользователям необязательно иметь полную базу данных. На самом деле вы можете утверждать, что для вас более важно указать вашу собственную безопасность, а не полагаться на импортированный набор.

+0

На самом деле мне нужны таблицы и контент, чтобы работать на них. Так что я просто могу удалить эти строки? – user1170330

+0

Хорошо, если SQL-скрипт содержит данные, то да. – DavidG

Смежные вопросы