--查询用友版本号useufsystemgoselect*fromUA_Versiongo-------------------------------------------------------------------查看系统用户信息表useufsystemselectcUser_Idas操作员编码cUser_Nameas操作员名称nStateas是否停用iAdminas是否帐套主管理cDeptas所属部门cBelongGrpas所在组nStateas是否停用fromUA_User--查看具有帐套主管身份的操作员selectcUser_Idas操作员编码cUser_Nameas操作员名称fromUA_UserwhereiAdmin=1;--查看被停用的操作员selectcUser_Idas操作员编码cUser_Nameas操作员名称fromUA_UserwherenState=1;--帐套主子表相关信息useufsystem--帐套主表selectcAcc_Idas账套号cAcc_Nameas账套名称cAcc_Pathas账套路径iYearas启用会计期年iMonthas启用会计期月cAcc_Masteras账套主管cCurCodeas本币代码cCurNameas本币名称cUnitNameas单位名称cUnitAbbreas单位简称cUnitAddras单位地址cUnitZapas邮政编码cUnitTelas联系电话cUnitFaxas传真cUnitEMailas电子邮件cUnitTaxNoas税号cUnitLPas法人cEntTypeas企业类型cTradeKindas行业类型cIsCompanyVeras是否集团版cDomainas域名cDescxriptionas备注cOrgCodeas机构编码iSysIDas账套内部标识fromua_account--帐套子表selectcAcc_Idas账套号iYearas账套年度cSub_Idas模块标识bIsDeleteas是否删除bClosingas是否关闭iModiPerias会计期间dSubSysUsedas启用会计日期cUser_Idas操作员dSubOriDateas启用自然日期fromua_account_sub--当客户的数据在其它机器上做的升级然后拷回到原机器/*拷回的数据,通过‘系统管理’在原机器上引入后,并不会在ufsystem数据库中的ua_account_sub这个帐套子表中回写上一年度的bClosing字段来关闭上一年度*/--比如002帐套结转后年度为2010则用于关闭上一(2009)年度的sql如下:select*fromua_account_subwherecAcc_Id='002'andiYear=2008updateua_account_subsetbclosing=0wherecAcc_Id='002'andiYear=2008-------------------------------------------------------------------清除异常任务及单据锁定useufsystemdeletefromua_taskdeletefromua_taskloggodeletefromufsystem..ua_taskdeletefromufsystem..ua_taskloggoSelect*Fromua_taskWhere(cacc_id='***')--注:(***为账套号)--科目锁定的解决/*XX科目已经被用户[XX]锁定”或“科目(xxxxxx)正在被机器(xxxx)上的用户(xxx)进行(xxxx)操作锁定请稍候再试”。*/useUFDATA_002_2008selectccodeas科目编码cauthas功能名称cuseras用户名cmachineas机器名fromGL_mccontroldeletefromGL_mccontrol-------------------------------------------------------------------如何取得一个数据表的所有列名/*方法如下:先从SYSTEMobxject系统表中取得数据表的SYSTEMID然后再SYSCOLUMN表中取得该数据表的所有列名。SQL语句如下:*//*(方法一*/select*fromufsystem..ua_accountselect*fromsyscolumnswhereid=obxject_id('ua_account')declare@objidint@objnamechar(40)set@objname='ua_account'select@objid=idfromsysobxjectswhereid=obxject_id(@objname)select'Column_name'=namefromsyscolumnswhereid=@objidorderbycolid/*(方法二(邹建)*/---跟踪程序的运行就可以了./*开始--程序--MSSQLSERVER--事件探察器(SQLProfiler)--文件--新建--跟踪...--设置要跟踪的服务器的信息(连接服务器)--确定--设置跟踪的项目...--然后数据库的调用情况就会显示出来在跟踪项目设置中如果不熟悉的话一般用默认设置筛选项目有几个可以注意一下:1.DatabaxseName同于你要监测的数据库名(不过这个好像不起作用我的电脑上设置无效)2.DatabaxseID同于你要检测的数据库的dbid可以用selectdb_id(N'你要监测的库名')得到dbid3.obxjectName同于你要监测的对象名例如表名视图名等4.obxjectID同于你要监测的对象的id可以用selectobxject_id(N'你要监测的对象名')得到id5.Error同于错误如果经常出现某个编号的错误则针对此错误号6.Seccess同于0失败1成功如果是排错就过滤掉成功的处理*//*方法三:*/--如果直接查询可以参考我的这段代码:ifexists(select*fromdbo.sysobxjectswhereid=obxject_id(N'[dbo].[p_search]')andobxjectPROPERTY(idN'IsProcedure')=1)dropprocedure[dbo].[p_search]GO/*--搜索某个字符串在那个表的那个字段中--邹建2004.10(引用请保留此信息)--*//*--调用示例usepubsexecp_searchN'l'--*/createprocp_search@strNvarchar(1000)--要搜索的字符串asif@strisnullreturndeclare@sNvarchar(4000)createtable#t(表名sysname字段名sysname)declaretbcursorlocalforselects='ifexists(select1from['+replace(b.name']'']]')+']where['+a.name+']likeN''%'+@str+'%'')print''所在的表及字段:['+b.name+'].['+a.name+']'''fromsyscolumnsajoinsysobxjectsbona.id=b.idwhereb.xtype='U'anda.status=0anda.xtypein(1752399935231167)opentbfetchnextfromtbinto@swhile@@fetch_status=0beginexec(@s)fetchnextfromtbinto@sendclosetbdeallocatetbgo-------------------------------------------------------------------通过SQL语句来更改用户的密码/*修改别人的需要sysadminrole*/EXECsp_passwordNULL'newpassword''User'/*如果帐号为SA执行*/EXECsp_passwordNULL'newpassword'sa-------------------------------------------------------------------通怎么判断出一个表的哪些字段不允许为空?selectCOLUMN_NAMEfromINFORMATION_SCHEMA.COLUMNSwhereIS_NULLABLE='NO'andTABLE_NAME='ua_account'-------------------------------------------------------------------如何在数据库里找到含有相同字段的表?--a.查已知列名的情况SELECTb.nameasTableNamea.nameascolumnnameFromsyscolumnsaINNERJOINsysobxjectsbONa.id=b.idANDb.type='U'ANDa.name='cacc_id'--本例如:cacc_id列--b.未知列名查所有在不同表出现过的列名Selecto.nameAstablenames1.nameAscolumnnameFromsyscolumnss1sysobxjectsoWheres1.id=o.idAndo.type='U'AndExists(Select1Fromsyscolumnss2Wheres1.name=s2.nameAnds1.ids2.id)-------------------------------------------------------------------查询第xxx行数据--假设id是主键:select*from(selecttopxxx*fromyourtable)aawherenotexists(select1from(selecttopxxx-1*fromyourtable)bbwhereaa.id=bb.id)--如果使用游标也是可以的fetchabsolute[number]from[cursor_name]--行数为绝对行数-------------------------------------------------------------------SQLServer日期计算/*a.一个月的第一天*/SELECTDATEADD(mmDATEDIFF(mm0getdate())0)/*b.本周的星期一*/SELECTDATEADD(wkDATEDIFF(wk0getdate())0)/*c.一年的第一天*/SELECTDATEADD(yyDATEDIFF(yy0getdate())0)/*d.季度的第一天*/SELECTDATEADD(qqDATEDIFF(qq0getdate())0)/*e.上个月的最后一天*/SELECTdateadd(ms-3DATEADD(mmDATEDIFF(mm0getdate())0))/*f.去年的最后一天*/SELECTdateadd(ms-3DATEADD(yyDATEDIFF(yy0getdate())0))/*g.本月的最后一天*/SELECTdateadd(ms-3DATEADD(mmDATEDIFF(m0getdate())+10))/*h.本月的第一个星期一*/selectDATEADD(wkDATEDIFF(wk0dateadd(dd6-datepart(daygetdate())getdate()))0)/*i.本年的最后一天*/SELECTdateadd(ms-3DATEADD(yyDATEDIFF(yy0getdate())+10))1.显示本月第一天SELECTDATEADD(mmDATEDIFF(mm0getd