Как я могу скопировать файл моей базы данных (с помощью существующей команды sql)

Я могу попытаться опубликовать свое приложение, но у меня есть 2 проблемы: во-первых, я не могу создать базу данных с этим кодом.

if not exists(select * from sys.databases where name = 'deneme1db') 
begin 
    CREATE DATABASE deneme1db ON PRIMARY 
    (NAME = deneme1db,FILENAME = 'C:\\deneme1db.mdf',
     SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 10%) 
     LOG ON (NAME = deneme1db_log, FILENAME = 'C:\\deneme1db_log.ldf',
     SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 10%) 
 end

я получаю эту ошибку

Сообщение 5123, уровень 16, состояние 1, строка 1
Программа CREATE FILE обнаружила ошибку операционной системы 5 (отказано в доступе) при попытке открыть или создать физический файл "C:\deneme1db.mdf".

Сообщение 1802, уровень 16, состояние 4, строка 1
Ошибка CREATE DATABASE. Некоторые перечисленные имена файлов не могут быть созданы. Проверьте связанные ошибки.

Моя вторая ошибка в реестре. Я пытаюсь запустить это

string[] sql = (string[])Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft")
       .OpenSubKey("Microsoft SQL Server").GetValue("InstalledInstances");
 var ar = (from s in sql where s.Contains("SQLEXPRESS") select s ).FirstOrDefault();
 if(ar==null)
 {
     label1.Text = "no value";
 }
 else
 {
     label1.Text = "find value";
 }

string[] sql каждый раз возвращает ноль, но если я изменю бит Prefer-32 из кода свойств сборки, запустите, но не могу изменить при настройке


person kerem ayseli    schedule 07.01.2019    source источник
comment
Первая ошибка, скорее всего, связана с тем, что любая учетная запись, с которой работает экземпляр сервера sql, не имеет доступа к корню c:   -  person MikeS    schedule 07.01.2019
comment
Кажется, это два несвязанных вопроса. Вы получите лучший ответ, если опубликуете их как отдельные вопросы, включая только детали, относящиеся к каждому вопросу.   -  person Diado    schedule 07.01.2019
comment
Спасибо за информацию, я могу решить первую проблему, просто изменив местоположение «C:\‹users или где угодно›\‹public или где угодно›\deneme1db.mdf   -  person kerem ayseli    schedule 07.01.2019


Ответы (1)


Я могу решить свою первую проблему, просто изменив местоположение базы данных

FILENAME = 'C:\select your database location\deneme1db.mdf 

Для второй проблемы

OpenSubKey() возвращает null для ключа реестра, который я вижу в regedit.exe

person kerem ayseli    schedule 07.01.2019