在 MS SQL 服务器中创建数据库快照
Creating a Snapshot of a Database in MS SQL Server
在我的实例中,我有一个名为 SampleDB 的数据库。我想在其上创建名为 SampleSnap 的快照。
-- Create a Snapshot on a Database
CREATE DATABASE SampleSnap ON
(
NAME = SampleDB, -- Logical File Name
FILENAME ='C:\Users\Eleonora\Desktop\SampleSnap.ss'
)
AS SNAPSHOT OF SampleDB;
GO
这给了我一个错误
Directory lookup for the file "C:\Users\Eleonora\Desktop\SampleSnap.ss" failed error 5(Access is denied.).
我该怎么做才能解决这个问题?
再说逻辑文件名的用法我也看不懂。它是什么以及如何正确指定它?
感谢您的宝贵时间。
要创建快照,您必须是角色 sysadmin
的成员
其中source_database_name是源数据库,logical_file_name是[=41中使用的逻辑名=]服务器引用文件时,os_file_name是你创建文件时操作系统使用的路径和文件名
阅读更多here
Edit - 如果不是sysadmin权限。那是因为 SQL 服务器服务帐户无法访问您的路径。
Edit2 如果你想在 C 盘上 - 我创建了一个新文件夹 C:\Test
我给了 NETWORK SERVICE 完全控制权 - 不知道这是否必要
What can I do to fix this?
您从阅读错误开始。
Directory lookup for the file "C:\Users\Eleonora\Desktop\SampleSnap.ss" failed error
5(Access is denied.).
是一个操作系统错误,告诉你数据库服务器基本上不能访问该文件夹。就这么简单。
您可以更改权限,或者您只是将数据不在您的 C 用户文件夹中。哪个更聪明 - db 数据库文件与您的桌面无关。
在我的实例中,我有一个名为 SampleDB 的数据库。我想在其上创建名为 SampleSnap 的快照。
-- Create a Snapshot on a Database
CREATE DATABASE SampleSnap ON
(
NAME = SampleDB, -- Logical File Name
FILENAME ='C:\Users\Eleonora\Desktop\SampleSnap.ss'
)
AS SNAPSHOT OF SampleDB;
GO
这给了我一个错误
Directory lookup for the file "C:\Users\Eleonora\Desktop\SampleSnap.ss" failed error 5(Access is denied.).
我该怎么做才能解决这个问题?
再说逻辑文件名的用法我也看不懂。它是什么以及如何正确指定它?
感谢您的宝贵时间。
要创建快照,您必须是角色 sysadmin
的成员其中source_database_name是源数据库,logical_file_name是[=41中使用的逻辑名=]服务器引用文件时,os_file_name是你创建文件时操作系统使用的路径和文件名
阅读更多here
Edit - 如果不是sysadmin权限。那是因为 SQL 服务器服务帐户无法访问您的路径。
Edit2 如果你想在 C 盘上 - 我创建了一个新文件夹 C:\Test
我给了 NETWORK SERVICE 完全控制权 - 不知道这是否必要
What can I do to fix this?
您从阅读错误开始。
Directory lookup for the file "C:\Users\Eleonora\Desktop\SampleSnap.ss" failed error 5(Access is denied.).
是一个操作系统错误,告诉你数据库服务器基本上不能访问该文件夹。就这么简单。
您可以更改权限,或者您只是将数据不在您的 C 用户文件夹中。哪个更聪明 - db 数据库文件与您的桌面无关。