易截截图软件、单文件、免安装、纯绿色、仅160KB

sql导出数据库时报 "登陆 xxx 失败",无法完成

修改数据库对象所有人
今天帮朋友传数据库报错,提示 "
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]登陆 xxx 失败",正好前段时间碰到同样问题,尝试删除用户 xxx , 又报错,提示" 用户拥有对象,所以无法删除". 查看数据库,发现该用户拥有很多存储过程,一个一个改太麻烦,从网上找到如下方法,恰好解决此问题:
CREATE   PROCEDURE   dbo.User_ChangeObjectOwnerBatch  
  @OldOwner as   NVARCHAR(128),  
  @NewOwner as   NVARCHAR(128)  
  AS  
   
  DECLARE   @Name   as   NVARCHAR(128)  
  DECLARE   @Owner as   NVARCHAR(128)  
  DECLARE   @OwnerName as   NVARCHAR(128)  
   
  DECLARE   curObject   CURSOR   FOR    
  select 'Name' =   name,  
  'Owner' =   user_name(uid)  
  from   sysobjects  
  where   user_name(uid)=@OldOwner  
  order   by   name  
   
  OPEN     curObject  
  FETCH   NEXT   from   curObject   INTO   @Name,   @Owner  
  WHILE(@@FETCH_STATUS=0)  
  BEGIN          
  if   @Owner=@OldOwner    
  begin  
  set   @OwnerName   =   @OldOwner   +   '.'   +   rtrim(@Name)  
  exec   sp_changeobjectowner   @OwnerName,   @NewOwner  
  end  
  -- select   @name,@NewOwner,@OldOwner  
   
  FETCH   NEXT   from   curObject   INTO   @Name,   @Owner  
  END  
   
  close   curObject  
  deallocate   curObject   
        
  GO  
然后执行存储过程即可
exec User_ChangeObjectOwnerBatch


相关文档:

理解sql语句的关键

    我发现自己理解起sql语句来很困难,今天看了一本书,顿时茅塞顿开,贴出来和大家分享一下
  
    
 select语句执行顺序
 (7)SELECT (8)DISTINCT (10)<TOP_specification> <select_list>
(1)from <left_table>
(3) <join_t ......

关于用ADO.NET 获取 SQL SERVER 表 SCHEMA的一些记录

最先希望使用datatable.columns种所含有的属性直接获取相关信息,可测试后发现,除了字段名和字段类型,其他数据一概找不到。
GOOGLE网上很多种方法,其中最直接的是直接查询SQLSERVER的information_schema.colums视图,从中直接获取信息,不过后来又发现,虽然数据时全了,可是需要通过很复杂的方法(sys.all_columns sys ......

论坛里看到的一个SQL问题及解答

问题:
有一个分数表
id classid,score
1  01    120
2  01    128
3  02    98
4  04    134
5  04    78
现在要统计 各班score >120,和大于90分的人数
达到如下效果
classid >120 >90
01  &nb ......

liq to sql union

Union All/Union/Intersect操作
适用场景:对两个集合的处理,例如追加、合并、取相同项、相交项等等。
Concat(连接)
说明:连接不同的集合,不会自动过滤相同项;延迟。
1.简单形式:
var q = (
from c in db.Customers
select c.Phone
).Concat(
from c in db.Customers
......

更改SQL Server默认的1433端口

1.SqlServer服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SqlServer对外提供服务,1434用于向请求者返回SqlServer使用了那个TCP/IP端口。
可以使用SQL Server的企业管理器更改SqlServer的默认TCP端口。方法如下:
a、打开企业管理器,依次选择左侧工具栏的“Microsoft SQL Servers - SQL Server组”, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号