sql-server - 在MS SQL Server中创建数据库的快照

标签 sql-server tsql error-handling snapshot

在我的实例上,我有一个名为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 是引用文件时在SQL Server中使用的逻辑名, os_file_name 是创建文件时操作系统使用的路径和文件名

阅读更多here

编辑-如果不是sysadmin权限。这是因为SQL Server服务帐户无权访问您的路径。

Edit2 如果要在C驱动器上-我创建了一个新文件夹C:\ Test

我完全控制了网络服务-不知道这是否必要

enter image description here

关于sql-server - 在MS SQL Server中创建数据库的快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554505/

相关文章:

sql-server - MSSQL 以固定值从一个表向另一个表插入数据

mysql - 编写sql查询来计算产品

c++ - 什么是 "cerr"和 "stderr"?

python - 如何用零除返回0

sql-server - Microsoft SQL Server 2008 Management Studio 中的备用枚举数据类型是什么?

sql-server - 如何在 SQL Server 2005 中存储时区

sql-server - SQL Server 2005 的测试优先开发工具?

sql-server - 仅当最近时才从暂存插入到最终

node.js - Express 4-未调用自定义错误处理中间件

sql - 引用外部表时从子查询连接 TOP 1