sqllib error: sysdatabases in SQL server instance is empty

  • We are recieving this error in the application log of our sql server server.

    What does it mean?

    Nothing when I google it...




    Thomas LeBlanc, MVP Data Platform Consultant

  • Interesting.  I just ran across this issue today.

    We had a 3rd party backup application installed.  It was running under an account that had select permissions on sys.databases but not sys.sysaltfiles.  It was throwing the exact error that you are seeing.  When we increased the permissions it went away.


  • It should be a permission issue as told by rubes give necessary permissions and check if you are able to

    Sugeshkumar Rajendran
    SQL Server MVP

  • Check with Backup software and it is not using a agent to backup SQL Server. This is a 2005 server, and the only agent available in the software is for 2000.

    We use SQL Server to backup the data and transaction logs, then this 3rd party software only backups the backup files to tape.




    Thomas LeBlanc, MVP Data Platform Consultant

  • I was looking for info on this aswell and I came across the following solution that I thought I'd share made me laugh a little:

    "resolved by granting the NT Authority \System account the SysAdmin role."

  • Hello

    How i can check what permissions are on the sys.sysaltfiles files?

    many thanks


  • find the sys.sysaltfiles then

    :right click > properties > permissions

    chances are there will be nothing. I can't remember what roles other than sysadmin have access by default.

    this what u were after?



  • you say to find the sys.sys files. How do i find those files??

  • hi,


    If you using sql 2005?

    If so go to the database > Views > System Views > and fild sys.sysaltfiles

    If your using sql 2000 its a system table not a view

    Master database > system tables > sysaltfiles




  • Hello

    Thanks for this, i have now found these files. I have no permissions set on these. What would be the recommended ones to set?

    Thanks in advance


  • when you say 'files' you mean the DB files themselves? (DBname.mdf, DBname.ldf).

    My pref is to set security @ the MSSQL directory (for 2005 this is: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL) and take the inheritance setting off.

    Then assign full control to the sql run time account (the user that SQL server runs under). This way only SQL server can access that directory (all db files, log files, backups rah diddy rah).

    You will porobably find Domain admins etc in there too.


  • Sorry i was refering to the sys.sysaltfiles when looking in the database at these then right clicking and selecting properties nothing is displayed in the Permissions

    I was wondering if anything should be there?



  • Hi, you could but you wouldn't.

    search books online for:

    "Mapping SQL Server 2000 System Tables to SQL Server 2005 System Views"

    I'm guessing sys.altfiles is now only accessible by sysadmins as its 2005 equivalent is the sys.Master_files view.



  • OK, thanks for the info. Any ideas where else i should be looking for receiving the following error during a backup window. We are using Veritas / Symantec Backup Exec. We are getting

    sqllib error: sysdatabases in sql server instance is empty

    Any thoughts?

  • see if you can figure out what account the backup software is running under (could be 'NT Authority\system' which is commoly disabled or removed for security reasons).

    My guess would be the backup software is using an login that has limited or no access to sql server.

    try running a Profiler trace and kicking off a backup, this may give you some idea as to what its using.



Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic. Login to reply