vista下sql2008不能在c盘建数据库

原文链接:http://www.cnblogs.com/newos/archive/2008/10/07/1305208.html

在sql2008中用

create database sales

on
(name=sale,filename=c:\a.mdf',size=10,maxsize=30,filegrowth=5)
log on
(name='sale_log',filename='c:\a.ldf',size=5mb,maxsize=25mb,filegrowth=5mb)

但是没有成功

消息 5123,级别 16,状态 1,第 1 行
尝试打开或创建物理文件 'c:\a.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问。)。
消息 1802,级别 16,状态 4,第 1 行
CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。

帮助文档中:

5123

16

尝试打开或创建物理文件 '%.*ls' 时,CREATE FILE 遇到操作系统错误 %ls。

1802

16

CREATE DATABASE 失败。无法创建列出的某些文件名。请查看相关错误。

这个可能是系统权限的问题,但是也很奇怪

查了不少sql的帮助文档,但是没有发现什么特别的,我猜想可能是系统权限的问题,我后面改成其他盘符就可以了,不过可以修改权限就是了,我下次试了再发。

 

转载于:https://www.cnblogs.com/newos/archive/2008/10/07/1305208.html

展开阅读全文
博主设置当前文章不允许评论。

跪求邹建大师 SQL2008数据库镜像问题

05-21

首先我是按照网上的做法做,具体是:rnrn/********************************************************rn此脚本在主体服务器执行rn********************************************************/rn--镜像只支持完全恢复模式,在备份数据库之前检查恢复的模式rn--对要镜像的数据库进行完整备份后,复制到镜像数据库以NORECOVERNY选项进行恢复rnUSE master;rn--DROP MASTER KEYrnCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';rnGOrn--为此服务器实例制作一个证书。rn--DROP CERTIFICATE HOST_A_certrnCREATE CERTIFICATE HOST_A_cert rn WITH SUBJECT = 'HOST_A certificate',START_DATE = '01/01/2009';rnGO rn--使用该证书为服务器实例创建一个镜像端点。rn--DROP ENDPOINT Endpoint_MirroringrnCREATE ENDPOINT Endpoint_Mirroringrn STATE = STARTEDrn AS TCP (rn LISTENER_PORT=5022rn , LISTENER_IP = ALLrn ) rn FOR DATABASE_MIRRORING ( rn AUTHENTICATION = CERTIFICATE HOST_A_certrn , ENCRYPTION = REQUIRED ALGORITHM AESrn , ROLE = PARTNERrn );rnGOrnrn--备份 HOST_A 证书,并将其复制到其他机器,将 C:\HOST_A_cert.cer 复制到 HOST_B\HOST_C。rnBACKUP CERTIFICATE HOST_A_cert TO FILE = 'e:\HOST_A_cert.cer';rnGOrn--为入站连接配置 Host_Arn--在 HOST_A 上为 HOST_B 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_B_loginrnCREATE LOGIN HOST_B_login WITH PASSWORD = 'password';rnGOrnrn--创建一个使用该登录名的用户。rn--DROP USER HOST_B_userrnCREATE USER HOST_B_user FOR LOGIN HOST_B_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_B_certrnCREATE CERTIFICATE HOST_B_certrn AUTHORIZATION HOST_B_userrn FROM FILE = 'e:\HOST_B_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];rnGOrn rn--在 HOST_A 上为 HOST_C 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_C_loginrnCREATE LOGIN HOST_C_login WITH PASSWORD = 'password';rnGOrnrn--创建一个使用该登录名的用户。rn--DROP USER HOST_C_userrnCREATE USER HOST_C_user FOR LOGIN HOST_C_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_C_certrnCREATE CERTIFICATE HOST_C_certrn AUTHORIZATION HOST_C_userrn FROM FILE = 'e:\HOST_C_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];rnGOrnrnUSE master;rn--DROP LOGIN HOST_A_loginrnCREATE LOGIN HOST_A_login WITH PASSWORD = 'password';rnGOrn--创建一个使用该登录名的用户。rn--DROP USER HOST_A_userrnCREATE USER HOST_A_user FOR CERTIFICATE HOST_A_cert;rnGOrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];rnGOrnrn--必须要在镜像数据库中先设置好伙伴后,才能在主体服务器执行rn--在 HOST_A 的主体服务器实例上,将 HOST_B 上的服务器实例设置为伙伴(使其成为初始镜像服务器实例)。rnALTER DATABASE crm rn SET PARTNER = 'TCP://192.168.1.205:5022';rnGOrnrn--设置见证服务器rnALTER DATABASE crm SET WITNESS = N'TCP://192.168.1.204:5022';rnGOrnrn/***********************************************rn在镜像服务器执行此脚本rn***********************************************/rnUSE master;rn--DROP MASTER KEYrnCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';rnGOrn--为 HOST_B 服务器实例制作一个证书。rn--DROP CERTIFICATE HOST_B_certrnCREATE CERTIFICATE HOST_B_cert rn WITH SUBJECT = 'HOST_B certificate for database mirroring',START_DATE = '01/01/2009';rnGOrn--在 HOST_B 中为服务器实例创建一个镜像端点。rn--DROP ENDPOINT Endpoint_MirroringrnCREATE ENDPOINT Endpoint_Mirroringrn STATE = STARTEDrn AS TCP (rn LISTENER_PORT=5022rn , LISTENER_IP = ALLrn ) rn FOR DATABASE_MIRRORING ( rn AUTHENTICATION = CERTIFICATE HOST_B_certrn , ENCRYPTION = REQUIRED ALGORITHM AESrn , ROLE = PARTNERrn );rnGOrn--备份 HOST_B 证书,将 C:\HOST_B_cert.cer 复制到 HOST_A\HOST_C。rnBACKUP CERTIFICATE HOST_B_cert TO FILE = 'e:\HOST_B_cert.cer';rnGO rnrn--为入站连接配置 Host_Brn--在 HOST_B 上为 HOST_A 创建一个登录名。rnUSE master;rn--DROP LOGIN HOST_A_loginrnCREATE LOGIN HOST_A_login WITH PASSWORD = 'password';rnGOrn--创建一个使用该登录名的用户。rn--DROP USER HOST_A_userrnCREATE USER HOST_A_user FOR LOGIN HOST_A_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_A_certrnCREATE CERTIFICATE HOST_A_certrn AUTHORIZATION HOST_A_userrn FROM FILE = 'e:\HOST_A_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。 rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];rnGOrnrn--在 HOST_B 上为 HOST_C 创建一个登录名。rnUSE master;rn--DROP LOGIN HOST_C_loginrnCREATE LOGIN HOST_C_login WITH PASSWORD = 'password';rnGOrnrn--创建一个使用该登录名的用户。rn--DROP USER HOST_C_user rnCREATE USER HOST_C_user FOR LOGIN HOST_C_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_C_certrnCREATE CERTIFICATE HOST_C_certrn AUTHORIZATION HOST_C_userrn FROM FILE = 'e:\HOST_C_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];rnGOrnrn--在 HOST_B 上为 HOST_B 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_B_loginrnCREATE LOGIN HOST_B_login WITH PASSWORD = 'password';rnGOrn--创建一个使用该登录名的用户。rn--DROP USER HOST_B_userrnCREATE USER HOST_B_user FOR CERTIFICATE HOST_B_cert;rnGOrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];rnGOrn--在 HOST_B 的镜像服务器实例上,将 HOST_A 上的服务器实例设置为伙伴(使其成为初始主体服务器实例)。rnALTER DATABASE crm rn SET PARTNER = 'TCP://192.168.1.203:5022';rnGOrnrn/****************************rn见证服务器执行rn*****************************/rn--ALTER DATABASE MirrorDB SET PARTNER OFFrnUSE master;rn--DROP MASTER KEYrnCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';rnGOrnrn--为此服务器实例制作一个证书。rn--DROP CERTIFICATE HOST_C_certrnCREATE CERTIFICATE HOST_C_cert rn WITH SUBJECT = 'HOST_C certificate',START_DATE = '01/01/2009';rnGOrnrn--使用该证书为服务器实例创建一个镜像端点。rn--DROP ENDPOINT Endpoint_MirroringrnCREATE ENDPOINT Endpoint_Mirroringrn STATE = STARTEDrn AS TCP (rn LISTENER_PORT=5022rn , LISTENER_IP = ALLrn ) rn FOR DATABASE_MIRRORING ( rn AUTHENTICATION = CERTIFICATE HOST_C_certrn , ENCRYPTION = REQUIRED ALGORITHM AESrn , ROLE = WITNESSrn );rnGOrn rnrn--备份 HOST_C 证书,并将其复制到其他系统,即 HOST_B\HOST_A。rnBACKUP CERTIFICATE HOST_C_cert TO FILE = 'e:\HOST_C_cert.cer';rnGOrnrn--为入站连接配置 Host_Crn--在 HOST_C 上为 HOST_B 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_B_loginrnCREATE LOGIN HOST_B_login WITH PASSWORD = 'password';rnGOrnrn--创建一个使用该登录名的用户。rn--DROP USER HOST_B_userrnCREATE USER HOST_B_user FOR LOGIN HOST_B_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_B_certrnCREATE CERTIFICATE HOST_B_certrn AUTHORIZATION HOST_B_userrn FROM FILE = 'e:\HOST_B_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];rnGOrn rn--在 HOST_C 上为 HOST_A 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_A_loginrnCREATE LOGIN HOST_A_login WITH PASSWORD = 'password';rnGOrn--创建一个使用该登录名的用户。rn--DROP USER HOST_A_userrnCREATE USER HOST_A_user FOR LOGIN HOST_A_login;rnGOrn--使证书与该用户关联。rn--DROP CERTIFICATE HOST_A_certrnCREATE CERTIFICATE HOST_A_certrn AUTHORIZATION HOST_A_userrn FROM FILE = 'e:\HOST_A_cert.cer'rnGOrnrn--授予对远程镜像端点的登录名的 CONNECT 权限。 rnGRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];rnGOrnrn--在 HOST_C 上为 HOST_C 创建一个登录名。 rnUSE master;rn--DROP LOGIN HOST_C_loginrnCREATE LOGIN HOST_C_login WITH PASSWORD = 'password';rnGOrn--创建一个使用该登录名的用户。rn--DROP USER HOST_C_userrnCREATE USER HOST_C_user FOR CERTIFICATE HOST_C_cert;rnGOrnrnrn开始镜像的时候,出现提示:数据库“XXX”的伙伴服务器实例和见证服务器实例均不可用,请在至少其中一个实例变为可用后重新发出命令!rnrn请问大师我应该怎么样处理呢?rn 论坛

d7的程序为什么不能在vista中运行!解决方法失效?

10-18

Delphi与Vista提供的UAC控制rnrnVista提供的UAC机制,是Vista的新增功能之一。它的主要目的是防止对于操作系统本身的恶意修改。如果想对于Vista的系统设置进行改动,必须通过UAC的验证才能够进行。通过这样的手段,大大提供了系统的安全性。 rnrn关于UAC的利弊,网络上的说法褒贬不一,在这里就不具体讨论了。 rnrn对于Delphi程序的影响,UAC主要在于以下几点: rnrn1、由于UAC机制,Delphi对于系统的操作可能无声的失败,而同样的程序,在2000/X下面可能运行正常。譬如注册表的改动。。。 rnrn2、为了避免这样的情况,Delphi程序必须支持Vista UAC标注,也就是说,在UAC程序的图标下面显示盾牌标志。这样可以在需要系统更高权限的时候,提醒用户。 rnrn为了让程序显示UAC标志,现在看来Vista是通过读取程序的资源(Resource)里面的MANIFEST资源,来决定是否显示“UAC盾牌”。 rnrn为了支持Vista,Delphi程序必须在资源里面嵌入MANIFEST信息。 rnrn1、首先编辑一个文件,内容如下: rnrn rn rn rn rn rn rn rn rn rn rnrnrn保持为UAC.manifest,这里文件是随意的。特别注意红色的“requireAdministrator”,这个表示程序需要管理员(Administrator)才能正常运行。 rnrn2、然后编辑一个RC文件,名为uac.rc rnrn1 24 UAC.manifest rnrn其中: rnrn1-代表资源编号 rnrn24-资源类型为RTMAINIFEST rnrnUAC.manifest-前面的文件名称 rnrn3、用brcc32编译这个rc文件为res文件 rnrnbrcc32 uac.rc -fouac.res rnrn4、在程序里面加入 rnrn$R uac.res rnrn让Delphi编译的时候,把uac.res编译进exe文件 rnrn5、把文件放到vista里面运行,就会看程序图标下面显示UAC盾牌标志了。rnrnrn我按照上面的方法做了,用d7的程序在vista中运行,还是无声的失败?rn不知,只是编译进去就行了吗?还是需要单独释放出UAC.manifest,然后再运行它?rn有没有人知道? 论坛

没有更多推荐了,返回首页