s?q?l? ?s?e?r?v?e?r? ?2?0?0?0?登?录?名?与?数?据?库?用?户?名?的?关?联?问?题

MS SQL Server 2000 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法     在使用数据库的过程中,经常会遇到数据库迁移或者数据迁移的问题,或者有突然的数据库损坏,这时需要从数据库的备份中直接恢复。但是,此时会出现问题,这里说明几种常见问题的解决方法。  
一、孤立用户的问题比如,以前的数据库的很多表是用户test建立的,但是当我们恢复数据库后,test用户此时就成了孤立用户,没有与之对应的登陆用户名,哪怕你建立了一个test登录用户名,而且是以前的用户密码,用该用户登录后同样没办法操作以前属于test的用户表。这个问题有两种办法解决。先说解决的前提条件。 
首先,要用备份文件还原数据库,我们这里的数据库名为test,里面有属于用户test的用户表。这个很容易了操作了,不多讲了,在企业管理器中很方便可以恢复。恢复后,就产生了孤立用户test。然后,用sa用户或者具有DBA权限的用户登录,创建一个test数据库登录用户,密码随便设置了,也可以和以前的保持一致。我们用它来对应孤立的test用户。下面就有两种操作方法了,第一种就是改变对象的属主,第二种就是使登录用户和数据库的孤立用户对应起来。 方法:使登录用户和数据库的孤立用户对应起来其实我们建立了同样名称的数据库登录用户后,数据库中的表我们照样不能使用时因为sid的不同,就是系统登录表和数据库用户表中的用户名相同,单是sid字段,数据库中的还是以前旧系统的sid值,所以我们就要把它对应成我们新建的,数据库靠sid来识别用户。 
        这里可以使用存储过程sp_change_users_login。 它有三种动作,分别是report,update_one和auto_fix。  运行下面的代码,系统会列出当前数据库的孤立用户数。 
 sp_change_users_login  ‘report‘            我们只需要选择当前数据库为testdb,然后运行 sp_change_users_login ‘update_one‘,‘test‘,‘test‘             系统就会提示修复了一个孤立用户。 
       如果没有建立test的登录用户,还可以用 sp_change_users_login ‘Auto_Fix‘, ‘test‘, NULL, ‘testpassword‘ 来创建一个登录用户名为test,密码为testpassword的用户与之对应。        好了,到这里通常情况下,数据库对象得到访问问题已经解决了。如果有多个数据库中有同一个用户的数据表,只需要选择不同的数据库,执行update_one的那个就行了。  
二、对象名 ‘xxxx’ 无效的问题  
这里可能会有人遇到对象名 ‘xxxx’无效的问题。系统表却不会产生这个问题,而用户表还要加上用户名,然后是表明才能访问,比如select * from author,会说对象名 author 无效,而用select * from test.author就可以访问,这个是用户首选身份的问题。   解决很简单,就是察看test登录用户是否具有dba的权限或者系统管理的权限,有的话去掉就行了。     因为如果用户有dba身份,那么它登陆后的默认表空间是dbo的系统表空间,所以去掉了之后,就会以正常的test表空间访问数据表了.

s?q?l? ?s?e?r?v?e?r?
?2?0?0?0?登?录?名?与?数?据?库?用?户?名?的?关?联?问?题

时间: 2024-07-29 21:55:42

s?q?l? ?s?e?r?v?e?r? ?2?0?0?0?登?录?名?与?数?据?库?用?户?名?的?关?联?问?题的相关文章

s?q?l?s?e?r?v?e?r?结?果?集?转?为?字?符?串

比如有语句select username from Employee 返回结果是: username 张三 李四 王五 怎么输出一个字符串类似: 张三,李四,王五 答: declare @s varchar(1000) select @s=isnull(@s+',','')+username from Employee select @s as username --> 生成测试数据表:Employee   IF NOT OBJECT_ID('[Employee]') IS NULL     D

P?H?P? ?5?.?3?连?接?s?q?l? ?s?e?r?v?e?r? ?2?0?0?8? ?R?2

我的机器为: xp sp3 sql server 2008 developer apache 2.2.2 php 5.3  从5.3开始,php就不再提供mssql.dll了,所以要php连接sql server 2008/2012必须要使用微软提供的sql server for php 2.0/3.0了. 有必要提醒一下,php5.4必须要3.0和Microsoft SQL Server 2012 Native Client. php官方帮助 http://php.net/manual/zh/

S?Q?L? ?S?e?r?v?e?r?中??的?P?W?D?E?N?C?R?Y?P?T?与?P?W?D?C?O?M?P?A?R?E?函?数

前幾天有個客戶的網站出問題(不是我們開發的),請我們幫他看,主要的問題是他們的網站會員在進行查詢密碼時,會員收到信的時候在密碼的欄位竟然會出現 System.Binary[] 字樣.而我進去資料庫中查看時,發現該會員資料表中的密碼欄位是 varbinary 格式,而我當然不知道他儲存的是什麼值,進而查看他們資料庫中的 Stored Procedure 對於密碼欄位的操作方法,這才發現他們用來驗證會員是否正確登入的方法是使用 PWDCOMPARE 函數. 由於我沒看過這個函數,便上網去查看看,發現

查?看?和?设?置?o?r?a?c?l?e?数?据?库?的?最?大?连?接?数

当前的连接数 select count(*) from v$process; 设置的最大连接数(默认值为150) select value from v$parameter where name = 'processes'; 修改最大连接数 alter system set processes = 300 scope = spfile; 当数据库最大连接数不够时会出现客户端连接间歇性失败,报错ORA-12519. 查?看?和?设?置?o?r?a?c?l?e?数?据?库?的?最?大?连?接?数,布

S?Q?L?获?取?当?前?时?间?(?日?期?)

--获取当前日期(如:yyyymmdd) select CONVERT (nvarchar(12),GETDATE(),112) --获取当前日期(如:yyyymmdd hh:MM:ss) select GETDATE() --获取当前日期(如:yyyy-mm-dd) Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate()) --获取当前日期(如:yyyy/mm/dd) se

详解使用w?s?g?e?n?和?w?s?i?m?p?o?r?t?开?发?W?e?b?S?e?r?v?i?c?e

本文旨在描述如何使用jdk自带的wsgen.exe 和wsimport.exe开发WebService. 1.新建一个java工程,项目名:WebServiceDemo.由于本文想通过完全手动建立的方式来演示整个过程,故我们的工程目录就是WebServiceDemo啦! 2.在此目录下新建Business.java 和 BusinessImpl.java两个类,分别如下: public interface Business { public String echo(String message)

W?i?n?下?h?t?t?p?d?+?p?h?p?+?m?y?s?q?l?环?境?集?成

apache+php+mysql: php下载:  VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,  VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的  如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9的.  Thread Safe 是线程安全,  Non Thread Safe就是非线程安全,   官方并不建议你将Non Thread Sa

R?e?q?u?e?s?t?、?R?e?q?u?e?s?t?.?F?o?r?m?和?R?e?q?u?e?s?t?.?Q?u?e?r?y?S?t?r?i?n?g?的?区?别

Request . Request.Form 和 Request.QueryString 的区别 request 本身是一个系统的静态对象,本身也可以作为数组调用,比如 request("abc") 就是获取 request 数组中键值 "abc" 对应的值,而这个数组又不是 固定的,而是多个数组的集合,其中包含了 (QueryString ,Form ,Cookies ,ClientCertificate,ServerVariables ) 这几个服务器 变量数组

F?l?e?x?4?+?s?p?r?i?n?g?+?h?i?b?e?r?n?a?t?e?+?B?l?a?z?e?D?S?整合案例

http://wenku.baidu.com/link?url=7v5xAyD2nvChQRT60QewpvAASFHMZNvD0OxX11OASYvae8jbVNsr5I000TwwYOlChzq05c50utxcLVb6mRL_r1pSFM1QZ2p9hJvRnpeT-T7 前提是系统安装好flex插件,Myeclipse,jdk,tomcat,并将flex插件集成到Myeclipse中 http://hi.baidu.com/xzwangyu/item/5bdc91c3c3439d3108