Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
Когда создаю БД этим скриптом:
USE master
GO

IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'Test')
DROP DATABASE [Test]
GO

CREATE DATABASE [Test]
GO 
все работает, а когда хочу
USE master
GO

IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'Test')
DROP DATABASE [Test]
GO

CREATE DATABASE [Test] 
ON
PRIMARY
(
	NAME = [TestData],
	FILENAME = 'C:\test_data.mdf',
	SIZE = 3MB,
	MAXSIZE = UNLIMITED,
	FILEGROWTH = 10%
)
LOG ON
(
	NAME = [TestLog],
	FILENAME = 'C:\test_log.ldf',
	SIZE = 3MB,
	MAXSIZE = UNLIMITED,
	FILEGROWTH = 10%
)
GO 

то
+ ошибка
Сообщение 5123, уровень 16, состояние 1, строка 1
Операция CREATE FILE вызвала ошибку операционной системы 5(Отказано в доступе.) при попытке открыть либо создать физический файл "C:\test_data.mdf".
Сообщение 1802, уровень 16, состояние 4, строка 1
Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы. Проверьте связанные ошибки.

26 июн 12, 02:07    [12774014]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
Ошибка заключалась в том, что мне отказано в доступе создать файл в корне диска, а в C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ можно. С чем это связано и как обойти это ограничение?
26 июн 12, 02:20    [12774026]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
или как программно узнать путь, по которому можно создавать бд?
26 июн 12, 02:23    [12774030]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Pyx
Ошибка заключалась в том, что мне отказано в доступе создать файл в корне диска, а в C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ можно.
Не вам, а учетной записи, под которой запущен сервис MSSQL.
Pyx
С чем это связано и как обойти это ограничение?
Дать права учетной записи, под которой запущен сервис MSSQL.
Pyx
или как программно узнать путь, по которому можно создавать бд?
Написать скрипт, который попытается создать в каждой из папок базу данных или файл. В которых папках получилось, в тех, видимо, права есть.
26 июн 12, 02:31    [12774032]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
Гавриленко Сергей Алексеевич
Написать скрипт, который попытается создать в каждой из папок базу данных или файл. В которых папках получилось, в тех, видимо, права есть.

если я отправляю заказчику скрипты в которых создается БД для последующей работы с ней, как мне выбрать путь, куда она будет создаваться, чтобы не получилось того, что она не захочет создаться на машине заказчика там где у меня она создалась?
26 июн 12, 03:14    [12774063]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Sack
Member

Откуда:
Сообщений: 163
Pyx
Гавриленко Сергей Алексеевич
Написать скрипт, который попытается создать в каждой из папок базу данных или файл. В которых папках получилось, в тех, видимо, права есть.

если я отправляю заказчику скрипты в которых создается БД для последующей работы с ней, как мне выбрать путь, куда она будет создаваться, чтобы не получилось того, что она не захочет создаться на машине заказчика там где у меня она создалась?


Подобные вопросы наверное надо решать на стороне клиентского приложения.
26 июн 12, 03:45    [12774079]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
aleks2
Guest
Pyx
или как программно узнать путь, по которому можно создавать бд?

Не указывайте путь - сервер создаст базу в папке по-умолчанию. Там, где можна.

CREATE DATABASE [Test] 
ON
PRIMARY
(
	NAME = [TestData],
	FILENAME = 'test_data.mdf',
	SIZE = 3MB,
	MAXSIZE = UNLIMITED,
	FILEGROWTH = 10%
)
LOG ON
(
	NAME = [TestLog],
	FILENAME = 'test_log.ldf',
	SIZE = 3MB,
	MAXSIZE = UNLIMITED,
	FILEGROWTH = 10%
)
GO 
26 июн 12, 06:58    [12774140]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Pyx
Гавриленко Сергей Алексеевич
Написать скрипт, который попытается создать в каждой из папок базу данных или файл. В которых папках получилось, в тех, видимо, права есть.

если я отправляю заказчику скрипты в которых создается БД для последующей работы с ней, как мне выбрать путь, куда она будет создаваться, чтобы не получилось того, что она не захочет создаться на машине заказчика там где у меня она создалась?
Спросить у заказчика.
26 июн 12, 11:38    [12775315]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
aleks2
Pyx
или как программно узнать путь, по которому можно создавать бд?

Не указывайте путь - сервер создаст базу в папке по-умолчанию. Там, где можна.
Там можно далеко не всегда.
26 июн 12, 11:39    [12775320]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
если нужно именно в этот каталог - обязательно нужен доступ

если нужно узнать "кому дать доступ" - делаем например бэкап - открываем его и смотрим владельца, затем ему и просим дать доступ
26 июн 12, 12:10    [12775556]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
мне дали задание на практику в котором нужно сделать скрипты бд, они не указали папку в которой можно создавать базу, при чем намекнули на том что им важно именно чтобы она создавалась без ошибок.
может есть какая то стандартная папка, в которую обязательно сюклсервер создаст без прав пользователя?

CREATE TABLE [Manufacturers]
(
	[ID] int NOT NULL IDENTITY (1, 1),
	[Name] nchar(25) NOT NULL UNIQUE,
	CONSTRAINT [idManufacturer] PRIMARY KEY([ID])
) ON [PRIMARY]

зачем ставится в конце ON [PRIMARY]?
26 июн 12, 17:42    [12778416]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
ultima
Member

Откуда: СПб
Сообщений: 121
Pyx
мне дали задание на практику в котором нужно сделать скрипты бд, они не указали папку в которой можно создавать базу, при чем намекнули на том что им важно именно чтобы она создавалась без ошибок.
может есть какая то стандартная папка, в которую обязательно сюклсервер создаст без прав пользователя?


Обычно когда просят скрипты, требуются скрипты таблиц, хранимых процедур и пр. Создавать базу не нужно. Это делает сам заказчик за пару минут руками, там где ему удобно.
Я не очень понял что значит мне дали задание на практику. Это тестовое задание ? Заказчику нужна пустая база ?
26 июн 12, 20:23    [12779074]     Ответить | Цитировать Сообщить модератору
 Re: CREATE DATABASE ... Сообщение 5123, Сообщение 1802  [new]
Pyx
Member

Откуда:
Сообщений: 24
ultima
Pyx
мне дали задание на практику в котором нужно сделать скрипты бд, они не указали папку в которой можно создавать базу, при чем намекнули на том что им важно именно чтобы она создавалась без ошибок.
может есть какая то стандартная папка, в которую обязательно сюклсервер создаст без прав пользователя?


Обычно когда просят скрипты, требуются скрипты таблиц, хранимых процедур и пр. Создавать базу не нужно. Это делает сам заказчик за пару минут руками, там где ему удобно.
Я не очень понял что значит мне дали задание на практику. Это тестовое задание ? Заказчику нужна пустая база ?

ознакомительная практика, там базу создать, таблицы и внести значения
27 июн 12, 02:25    [12779784]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить