冯海滨博客

海滨博客

SQL检索X数据库中 所有表记录行数小于2的表 返回数据库中记录行数小于2的所有表名

0条评论 550 ℃
declare @dbname nvarchar(200)
declare @str_sql nvarchar(200)
declare curdb cursor for
select name from sysobjects where  xtype='U' --找出数据库中的所有表

open curdb
fetch next from curdb into @dbname
while @@fetch_status=0
begin
select @str_sql='if exists(select * from (Select count(*) as num From '+ @dbname +')tmp where num<2)   print '''+ @dbname +''' + char(13)'
--print @str_sql
 exec (@str_sql )
 fetch next from curdb into @dbname
end
close curdb
deallocate curdb


...

在MSSQL上强制删除订阅

0条评论 509 ℃

A机器为发布服务器,B机器为订阅服务器,
A机器同时也是分发服务器(角色)。

我把A机器给格式化了,后来在B机器上面仍然存在一个订阅,在企业管理器弄了半天,删除不了这个订阅,而且最要命的是不能对表进行删除,错误信息为正在复制的表不能删除。

问微软支持,得结论:
sp_removedbreplication 'job'
JOB为订阅复制的数据库名称。

OK。

...

sql server 2005 启用“代理XP”

0条评论 487 ℃

 一、问题
   在Management Studio中新建维护计划时,提示以下错误信息:
  “代理XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用sp_configure来启用“代理XP”。有关启用“代理XP”的详细信息,请参阅SQL Server联机丛书中的“外围应用配置器”。(ObjectExplorer)
二、解决方法
  打开SQL Server Configuration Manager,启用SQL Server Agent。

...

mssql 数据库单用户无法变为多用户 提示数据库在某用户连接解决方法

0条评论 551 ℃
USE [master] 
GO 
    
/****** Object:  StoredProcedure [dbo].[killspid]    Script Date: 03/28/2011 11:01:32 ******/ 
SET ANSI_NULLS ON
GO 
    
SET QUOTED_IDENTIFIER ON
GO 
    
  --建一个存储过程,断开所有用户连接。    
  create   proc   [dbo].[killspid]   (@dbname   varchar(20))    
  as  
  begin  
  declare   @sql   nvarchar(500)    
  declare   @spid   int  
  set   @sql='declare   getspid   cursor   for      
  select   spid   from   sysprocesses   where   dbid=db_id('''+@dbname+''')'  
  exec   (@sql)    
  open   getspid    
  fetch   next   from   getspid   into   @spid    
  while   @@fetch_status<>-1    
  begin  
  exec('kill   '+@spid)    
  fetch   next   from   getspid   into   @spid    
  end  
  close   getspid    
  deallocate   getspid    
  end  
        
    
GO
  
  
  
use   master    
exec   killspid   '出问题的数据库名'
  
alter database 出问题的数据库名 set multi_user


...

在vista下安装VS2008和SQL2005

1条评论 989 ℃

 

vista存在严重的兼容性问题,这是全地球人都知道的事实。但是vista的美观和3D效果的确令人向往,在一个偶然的机会下(原来的xp系统崩溃了),我便安装了正版的vista系统(我买联想F41G时附带的正版系统碟),是家庭基础版的,用了一下就觉得太麻烦,而且兼容问题还是很严重,于是就下了一个联想的旗舰版来装。顺便说说,微软说,家庭版的用户要想升级到更高级的vista系统,就必须重新购买正版密钥。但是,其实同样的密钥在不同版本的vista系统中是可以共用的,也就是说,只要你是正版的密钥,无论你机器上是什么版本的vista,都一样可以通过微软的正版认证。所以,大家别被微软给骗了。我现在用的是lenovo的旗舰版(也就是最终版),旗舰版是vista家族中最高级的系统,也是功能最完全的系统,面向多媒体娱乐,也面向开发,不过同样也是最沉重的系统,安装完成后,占用硬盘空间12G!

...

SQL Server 2008数据库被标记为可疑的解决方法

0条评论 502 ℃

 

在使用SQL Server 2008数据库时发现数据库被标记为可疑,查看网上的资料终于找到了解决办法,接下来我们就来介绍解决方法。

解决方法:

当数据库发生这种操作故障时,可以按如下操作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。

1、修改数据库为紧急模式

ALTER DATABASE Zhangxing SET EMERGENCY

...

sql2008 一次性删除所有表

0条评论 539 ℃

declare @tname varchar(8000)
set @tname=''
select @tname=@tname + '[' + Name + '],' from sysobjects where xtype='U'
select @tname='drop table ' + left(@tname,len(@tname)-1)
exec(@tname)

...