Saya mencoba menjalankan skrip berikut di SQL Server Management Studio:
USE [master]
GO
CREATE DATABASE [test1] ON PRIMARY (
NAME = N'test1',
FILENAME =
N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\test1.mdf',
SIZE = 70656KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB)
LOG ON (
NAME = N'test1_log',
FILENAME =
N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\test1_log.ldf',
SIZE = 164672KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
Tapi saya mendapatkan kesalahan:
Msg 5123, Level 16, State 1, Line 2
CREATE FILE menemukan kesalahan sistem operasi 5 (Akses ditolak.)
Ketika mencoba membuka atau membuat file fisik
'C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ test1.mdf '.Msg 1802, Level 16, Negara 4, Jalur 2
BUAT DATABASE gagal. Beberapa nama file yang tercantum tidak dapat dibuat. Periksa kesalahan terkait.
Sudah memiliki semua izin peran untuk pengguna saya, ada ide tentang apa yang salah?
sql-server
sql-server-2012
thiagocfb
sumber
sumber
CREATE DATABASE [test1]; GO
?Jawaban:
Anda mendapatkan kesalahan izin. Akun yang menjalankan SQL Server tidak memiliki hak yang diperlukan pada folder yang akan berisi file database.
Anda perlu memberikan akun yang menjalankan SQL Server (bukan akun Anda) kontrol penuh C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA.
sumber
Network Service
akun. Jadi hak yang sesuai harus diubah pada direktori masing-masing untuk akun ini jika itu terjadi pada PC Anda juga.Berdasarkan utas komentar kami, sepertinya Anda membuat diri Anda sedikit miring saat menginstal. Penginstal memungkinkan Anda untuk memilih direktori data default dan (saya akan berasumsi ) menetapkan izin yang sesuai pada direktori itu untuk akun layanan yang Anda tentukan.
Dalam
CREATE DATABASE
pernyataan Anda, Anda menentukan lokasi, tetapi apakah lokasi itu yang ditentukan dalam pengaturan awal? Sudahkah akun layanan berubah?Cara untuk menguji ini adalah dengan menjalankan generik
Jika Anda mendapatkan kesalahan yang sama maka mungkin akun layanan telah berubah atau sesuatu tentang izin NTFS telah berubah.
Jalur resolusi (juga didasarkan pada string komentar) adalah untuk mengkonfirmasi bahwa layanan yang menjalankan SQL Server memiliki izin R / W di jalur yang Anda tentukan. Untuk melakukan ini:
Mulai-> Jalankan->
services.msc
-> gulir daftar layanan hingga Anda menemukan SQL Server-> klik kanan-> properti-> tab Log OnSekarang buka dan pastikan akun memiliki izin yang sesuai pada direktori itu untuk melakukan apa yang perlu dilakukan.
sumber
Tampaknya ada jumlah ruang yang salah di jalur yang disediakan, jadi, itu tidak cocok dengan folder pohon.
Sql server tidak akan membuat jalur yang tidak ada.
Sunting :
Posting asli Anda mengatakan:
dan saya kira ini bukan jalan yang ada, dan karena disorot oleh titik dua, relevan berapa banyak ruang yang ada.
sumber
Microsoft SQL
danServer
, dan ini aneh bagi saya karena biasanya hanya satu karakter spasi. Itu tidak terlihat sekarang karena pos Anda diedit oleh @marc_sSkrip di atas yang Anda posting di bagian pertanyaan Anda sudah benar. Mungkin saja jalur file yang Anda sebutkan di FILENAME bisa salah.
Silakan gunakan skrip yang diberikan di bawah ini. Ini hanya berfungsi kemudian pastikan path file yang Anda gunakan dalam skrip Anda.
sumber