DTS Designer Task: Copy Server Objects. What User Permissions Required?
Nov 6, 2006
I'm making a copy of some tanles between 2 servers.
Server 1 requires a sql login
Server 2 is using Windows Auth.
I have a user on server 1 named "odbc" able to log in.
however my copy task fails, when I drill the error, it's lists the first user in server 1 alphabetically as the failed login???? but in my dts I am specifying the "odbc" user and password.
I think I have a permissions problem on server 1. So my Question, what minimum permissions does user "odbc" need to copy a table?
On server 1 I can copy from northwind to server 2 just fine..but any other db on server 1 causes the weird failure with the wrong username.
How would I, using a sql script, copy permissions assigned to a useror a role in one or more databases to another user or a role in theirrespective databases?Help appreciated
My goal is need to synch couple of tables in QA and Prod. I used "Copy SQL Server Objects Task" in DTS package with copy option "replace existing data". It is trying to truncate and insert new data. But BOL is says "Overwrite existing data in the destination objects with the new data from the specified source". Let me know your thought about this.
I create a new SSIS package, drag in an Execute DTS 2000 Package Task, select and embed a DTS package which consists only one one task (as above), and then change the source & destination details (svr + user/pwd). Then when I go to the Copy tab, I get the following error when I hit Select Objects, to view the objects which the embedded DTS package should copy:
SQL-DMO error 21776: general error.
On further inspection, none of the objects selected for copy within the atomic/original DTS package, remain selected for copy within the embedded DTS package.
I have googled to search for an answer to this one, but to no avail. Any ideas would be greatly welcomed.
I've got a Server setup at work on our RD domain It's Windows 2012, running SQL Server 2012 with reporting Services I've installed our application and reports to this server.
If I'm on my CORP domain on my development laptop I can enter the following into IE [URL] ...... and the SSRS reports page opens up fine
I then RDP into this server using my same CORP credentials Open IE on this server and enter the same URL within IE and get User 'CORPORATEjoep' does not have required permissions. Verify that sufficient permissions have been granted and Windows User Account Control (UAC) restrictions have been addressed.
I'm on the Server itself. Why does my account not work there, but when I access SSRS from outside this SERVER with same login, it works
User 'DMNServerBreanch' does not have required permissions. Verify that sufficient permissions have been granted and Windows User Account.Control (UAC) restrictions have been addressed.
SQL Server Security is not my strong point so forgive me for asking stupid questions.
I have a bunch of tables and sprocs within a schema 'MySchema'. I have a user 'MyUser' defined in the database.
I would like to give MyUser permission to SELECT from tables and EXECUTE all sprocs in MySchema. What is the simplest way of doing that? Will the following:
GRANT EXECUTE ON SCHEMA::[MySchema] TO [MyUser] WITH GRANT OPTION AS [db_owner] GRANT SELECT ON SCHEMA::[MySchema] TO [MyUser] WITH GRANT OPTION
accomplish that? (I can't test it out at the moment because our DBA isn't around and I don't have permission)
With best practices in mind - is what I am doing here considered "ok". Any suggestions/comments are welcome.
-Jamie
P.S. Can anyone recommend any documentation that talks about what best practices should be in the use of schemas. BOL is a bit sparse. Thanks.
I have a SQL2000 database that I need to copy tables from to my SQL2005 database. The table in the 2000 database are owned by a login named tsreader. This login is also in the dbo database role. So, when I access tables I have to prefix tha table name with tsreader. Currently in a SQL2000 database I have DTS packages that pull data over from this database everynight and they work fine. However when I try to do this from SSIS, I get the error "Object does not exist". My assumption is that it is trying to access the database tables as a "select * from tablea" as opposed to "select * from tsreader.tablea".
Any thoughts on how to make this work? I know I have the login correct because it is the same one I use for the SQL 2000 packages. Also, in SSIS it allows me to chose the tables I want yet I still get "Table does not exist at source" when I try and execute it.
Historically I've always written a VB script to copy a file from a sharepoint library. I don't like this method because I have to input a username & password in the script and maintain a config file.
Yesterday I was playing around with using a file system task. The sharepoint file has a UNC path so why not? I created a simple test package with a single file system task that copies the sharepoint file (addressed via UNC) to another network location. Package runs fine locally.
I try running on our utility server but am getting a "The file name [SHAREPOINT UNC PATH] specified in the connection was not valid" error. Package is running with a proxy on the server and the proxy account has the same permissions to the sharepoint site (so far as I can tell) as me.
I am working on SQL 7.0/2000. I have given lot of permissions to the user 'duser1'. The permissions like select,etc..,create... Now I want to give the same permissions(what I have given to 'duser1') to the other user called 'duser2'. Right now I hvn't created any Database Roles or Server Roles.
Do we have any easy method to copy the permissions of one user to the other user?, like script generation or any method. If anybody knows that please guide me.
I'm using SQL accounting software now and i have a problem with my designer report. When i using designer report to design my customer statement of account, after i save the new design, i haven't rename it for the new statement report so the name there empty and i exit the designer report. So when i re-open the designer report, suddenly pop out "field value required". What should i do...? How can i re-open the designer report again?
I am using the "Transfer SQL Server Objects Task" to copy some tables from database A to database B including data.
The tables, primary key constraints, Foreign key, data and all transfers nicely except for "DEFAULT CONSTRAINTS" on the tables.
I have failed to find any option in the "Transfer SQL Server Objects Task" task to explicitly say "copy default constraints". So I guess logically it should happen automatically but it doesn't. I hope it is not a bug :-)
In short, does the €œTransfer SQL Server Objects Task€? support distributed transactions?
In trying to use a €œTransfer SQL Server Objects Task€? in a container using a transaction on the container. The task is set to support the transaction. It is setup to copy table data from several tables from a non-domain server (sql server 2000) to a domain-based server (sql server 2005). I get an error stating, €œThis task can not participate in a transaction€?.
I am wondering if it means exactly what it says €“ this task in SSIS can€™t participate at all. Or does it mean that it won€™t in this scenario for some reason. I attempted a simple copy of data from mssql 2005 to mssql 2005 (same server) and the task still failed). MSDTC appears to be running properly on my machine and such (I can do a simple distributed transaction across linked server to the 2000 server in Query Analyzer (QA)). Also, MSDTC appears to be working on both servers with distributed transaction query tests in QA.
Here€™s the error info€¦
SSIS package "Development BusinessContacts and Products Migration.dtsx" starting. Information: 0x4001100A at Copy BusinessContacts Data: Starting distributed transaction for this container. Error: 0xC002F319 at Copy BusinessContacts database table data 1, Transfer SQL Server Objects Task: This task can not participate in a transaction. Task failed: Copy BusinessContacts database table data 1 Information: 0x4001100C at Copy BusinessContacts database table data 1: Aborting the current distributed transaction. Information: 0x4001100C at Copy BusinessContacts Data: Aborting the current distributed transaction. SSIS package "Development BusinessContacts and Products Migration.dtsx" finished: Failure. The program '[4700] Development BusinessContacts and Products Migration.dtsx: DTS' has exited with code 0 (0x0).
What are the minimum permissions required by the SQL Server 2005 Upgrade Advisor (UA)? I could not find it in the documentation.
Obviously being a local Administrators Windows group and a member of sysadmin SQL Server role will do the trick.
But will being a member of only the sysadmin SQL Server role be enough? I know that the UA does want to read the registry.
Running it under just sysadmin generates the following type of errors:
Database Server PreUpgrade Requested registry access is not allowed. WINSOCKPROXY
Database Server PreUpgrade Requested registry access is not allowed. FTUNSIGNEDCOMPONENTS
Database Server PreUpgrade Requested registry access is not allowed. NETPROTOCOL
Database Server PreUpgrade Requested registry access is not allowed. FTMULTIPLEINSTANCES
Database Server PreUpgrade Requested registry access is not allowed. INVALIDNAMEDPIPE
Database Server PreUpgrade Requested registry access is not allowed. FTCOMPONENTREG
Database Server PreUpgrade Requested registry access is not allowed. FTACCTPASS
The issue then is whether these are significant or not. If the UA is only reading the registry to determine if SSAS, DTS, etc is installed then that is not important. But if it is affecting the end result because it cannot read critical information from the registry that is another matter.
I have a Windows NT group that is used to delegate certain database responsibilities to other members of staff and I am trying to grant permissions for the members of the group to be be able to establish database mirroring sessions, as in run the following:
ALTER DATABASE <database> SET PARTNER = 'tcp://principal_server.domain.com:port';
Although the group has db_owner role membership to the user database which grants the ALTER permission on the database, the following is being generated in the error log when they get to this step on the intended Mirror instance after restoring the database correctly in preperation:
SqlDumpExceptionHandler: Process 59 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. * ******************************************************************************* * * BEGIN STACK DUMP: * 10/29/15 11:16:15 spid 59 * * * Exception Address = 00007FF9A6AF838C Module(sqlmin+000000000003838C) * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION * Access Violation occurred reading address 00000000000000D8 * Input Buffer 210 bytes - * alter database <redacted> set partner = '<redacted>';
As you can see, the statement is denied to the user. There are no issues with the database as I am able to run the same query successfully using my own sysadmin account after the failed attempt. What other minimum permissions the group might need to successfully enable them to setup a mirroring session?
We are having problems with the response times from UPS WorldShip after switching from SQL Server 2000 to 2005.
I think that the problem can be fixed from the database end by setting the permissions correctly for the user/role/schema that is being used by WorldShip to connect to the server but, I'm not sure how to do it.
The Setup
Client UPS WorldShip 8.0 running on XP Pro SP2 Connecting via Sql Native Client via SQL Server Login Connection is over a T1 via VPN
Server - SQL Server Standard Edition on Windows Server 2003 2x3ghz Xeon processors w/ 4gb ram
The user that is being used to connect runs under it's own schema and role and only needs access to two tables in a specific database on the server.
What UPS WorldShip seems to be doing is on a continual basis retrieving information about the layout of the database via calls such as the following
This seems to happen whenever WorldShip contacts the database to find out information in order to be able to create a mapping to the database as well as exporting information to it. Because of the VPN connection these calls take anywhere from 20 seconds to 3 minutes.
I am fairly confident that the problem lies with these calls to the database which I was able to capture using the SQL Server Profiler. We have experimented with the following setups.
1. Connecting to SQL 2000 over VPN with SQL Native Client - No noticeable lag 2. Connecting to SQL 2000 over VPN with SQL Server 2000 driver - No Noticable lag 3. Connecting to SQL 2005 locally with SQL Native Client - No Noticable lag 4. Connectiong to SQL 2005 over VPN with SQL Native Client - Lots of lag
Our network admin has been testing the network connections over the VPN and it is very responsive with none of the long wait times found when using UPS WorldShip.
Now for a possible solution other than getting UPS to fix their software. I think that by limiting the tables and views that the login is able to see will cut down significantly on the lag times that are being experienced. The problem is that there were 264 items that were being returned by sp_tables. I was able to cut that down to 154. I am unable to disable access to any of the rest of the items because they are server scoped.
Take for example the INFORMATION_SCHEMA.CHECK_CONSTRAINTS view. When I try to deny access to it in any way I get the following error:
Permissions on server scoped catalog views or system stored procedures or extended stored procedures can be granted only when the current database is master (Microsoft SQL Server, Error: 4629)
Am I able to deny access to these types of object and if so how? Also, what objects should be accessable such as sys.database_mirroring, sys.database_recovery_status, etc?
I’m trying to create a DTS Package to copy my sql Server objects to a test Server. The server I’m copying from is UMTS1 and the server I’m copying to is UMTSDEV. The database name is ProgramSpecs and exists on bother servers. My login is assigned to all server roles on both servers. I have created databases on both servers manually so I’m pretty sure I have all the necessary permissions. I’m using the DTS task ‘Copy Sql Server Objects’ to copy sql server objects and have selected “Drop Destination objects first”.
When I try to execute the package I get the following error: Error source: MS SQL DMO Error Description: Invalid OLEVERB Structure [SQL DMO] create file error or UMTS1.ProgramSpecs.LOG
Problem Description: The following error is popping up and not allowing opening or running any of the DTS packages. Connection objects are not available in DTS Designer.
"Error in the DLL" "Need to run the object to perform this operation"
We have reinstalled the MS SQL Server 2000 Standard Edition with Service pack 3 and MSO3031 hot fix. Still the issue continues. Operating System:Windows 2000
Copy objects and data between SQL Server databases " Display the Select Objects to Transfer dialog box, where you can specify both objects and data to copy, if both the data source and destination are Microsoft® SQL Server™ databases. The objects you can transfer include tables, views, stored procedures, defaults, rules, constraints, user-defined data types, logins, users, roles, and indexes. You can transfer objects only between multiple instances of SQL Server version 7.0, from an instance of SQL Server 7.0 to an instance of SQL Server 2000, and between multiple instances of SQL Server 2000. "
can I apply "Copy objects and data between SQL Server databases" to run in two different sqlserver 2000 ( not an instance ) . what I mean is I have two different sql servers located in two different locations( I am not using an instance installation) can I still run the copy and get an identical database in both servers. Q2. if I have two sql server 2000 with different collations (one is binary and the other is the default) will I be able to run the copy wizard and still have an identical copy of sql server in both servers.
I personally tried to run the copy wizard and IT NEVER WORKED FOR ME and I really do not know the reason.
I'm a wee bit of a newbie concerning DTS and have inherited a db with a DTS containing a Copy SQL Server Objects task set to run nightly. Essentially, it does an informal backup of some core data.
Recently, I was notified that one of the tables it copies over is now empty on the Destination db. The DTS shows that it runs successfully with no errors logged, the table in question IS selected to be copied from the Source database, there IS data in the Source database table, and every other table in the Destination database is populated appropriately.
Any ideas on what would cause this one table to be empty without generating any errors?
I just upgraded to SQLServer 2005 Standard. I do development in adatabase on one server. When a solution is completely tested, I moveit to the operational database on a different server. With SQLServer2000, I could just open the .adp file and do File->Get ExternalData->Import to move the objects. That does not work with 2005.What is the recommended method for moving objects from one database toanother? Obviously, the objects that changed will not be the sameevery time.Thanks!Jer
Using "Integration Services Project" template in Business Intelligence Studio. Using platforms Visual Studio 2005 along with SQL Server 2005.
Getting the error while trying to execute package after loading it programmaticaly.
I've just one task "Transfer SQL Server Objects Task" on my Integration Services package. But when I try to execute it from VS 2005 project programmaticaly, it gives the above mentioned error.
The commands I use:
Package pkg = new Package();
pkg = a.LoadPackage(@"C:Documents and SettingsabcMy DocumentsVisual Studio 2005ProjectslSSISSSISPackage.dtsx", null, true);
DTSExecResult dResult = pkg.Execute();
The the error comes like: error: 0xc0012024 The task Transfer SQL Server Objects Task cannot run on this edition of Integration Services. It requires higher level edition.
Can anyone refer me to good 'recipes' or sources of information on thistopic??I have Visual Studio Tools for Office, which installs SS 2005 Expresslocally to my XP box, and I want to develop in SS 2005, then copy thetables or queries or reports etc. to a SS 2005 Standard server.Thank you, Tom
I am trying to copy a subset of tables, stored procedures, and views from one database to another database on a named instance of SQL Server 2005. I am attempting to use the Transfer SQL Server Objects task in Integration Services.
I am able to create both Source and Destination connections, and specify the objects I want to transfer. When I run the package, the task turns yellow while it's processing, then green when it completes.
At this point, no objects have been transferred to my destination database. No tables, no procs, no views, nothing. No error has been generated. No information is written to an SSIS log file, other than the fact that objects are being transferred, and then the package is finished.
Does this have something to do with the fact that I'm using a named instance of SQL Server 2005?
I am using SSIS Transfer SQL Server Objects Task to copy all the objects of a database to another without the data. The properties that i have set for this task is as:
When I execute this task, it fails (with the errorCode=-1073548784) at a point where it tries to create a table which is inside a schema, because the script for creating the table is executed before creating the schema. So, if have a table [Person].[Employee], the script "Create Table [Person].[Employee]" gives an error
The specified schema name "Person" either does not exist or you do not have permission to use it. It cannot be a permission related issue as am using the sa account to connect to both the source and the destination. Hence, I conclude that the SSIS task here tries to copy the table first without creating the schema and so the excution fails.
Is this a bug in SSIS? or am missing anything? and what can be the workaround this?
When i'm trying to transfer SQL Server Objects from a SQL Server 2000 Database to another i got the following error: [Transfer SQL Server Objects Task] Error: Table "bank" does not exist at the source.
This just appens in some spcific situations:
- When i select the tables i want to transfer, using the option "CopyAllTables" it works fine;
- When i use specific instance as source. Using the Development machine as source it works fine, when i use the machine from Pre-Production (the one i whant to use) it doesn't .
A little background... I have a 25GB database (called DevDB) that my co-workers use for SQL development. The data in this database isn't important and all I really need are the SQL objects. So instead of doing a database backup, which includes the data as well, I was planning on just copying the database objects to another database called DevObjects (on the same server) and backing it up instead. This is SQL 2005 SP2.
I've created an IS package and have 3 items...
1. Check for existance and drop DevObjects database. This is to eliminate the need for dropping the objects first. Successful.
2. Create a new database DevObjects. Successful.
3. Transfer SQL Server Objects Task. Fails.
My transfer objects task is setup like this:
The connections are to the same server, source db: DevDB, destination db: DevObjects.
DropObjectsFirst: False
IncludeExtendedProperties: True
CopyData: False
CopySchema: True
UseCollation: True
IncludeDependendObjects: True
CopyAllObjects: True
CopyDatabaseUsers: True
CopyDatabaseRoles: True
CopySqlServerLogins: False
CopyObjectLevelPermissions: True
CopyIndexes: True
CopyTriggers: True
CopyFullTextIndexes: True
CopyPrimaryKeys: True
CopyForeignKeys: True
GenerateScriptsInUnicode: True
I get an error trying to create a login that's not even in the database I am trying to copy the objects from. Since this is the same server, the login is already there.
Is there a way to not copy the server logins (so that CopyAllObjects works)?
Anyway, I got past that error by changing CopyAllObjects to False and setting all the subgroups to True. Now, I get an error creating one of the FK's, it seems that the PK it references isn't created first.
Is there a way to force creating the PK's before the FK's?
If I set CopyForeignKeys to False, then it completes successfully, but I need the FK's to be transferred as well. Any ideas?
Does anyone have a better way to accomplish what I'm trying to do?
All Sp's and UDF's in one base database have to be compiled into five identical databases located in the same SQL Server in order to keep all those five db's stored procedures synchronized.
I made a simple SSIS package which content one "Transfer SQL Server Objects Task" component.
Hardcoded connection/Source db/Destination db and setup properties as
"Drop object first" = True
"Copy All Stored procedures" = True
"Copy All UDF" = True
Then I executed the Package right from Visual Studio environment and after the substantial thinking finally it show me a green light.
But when I verified the result no Sp's in the destination database were re-compiled/copied from the source database.
What is the security requirement for running this task? I have no problem running this taks as a system administrator but all my users who are in the db_dtsltduser cannot run the same task successfully. They are DBOs in both databases involded in the task. Thank you in advance for your help.
I don't believe that the fix to the above issue has made its way into an SP yet. Can anyone confirm/refute this, and/or state when the fix will become publicly available &/or give a workaround?
I'm currently having some trouble with the "Transfer SQL Server Objects Task". All I wanna do is to copy a simple database from one server (SQL2000) to another one (SQL2005).
A small excerpt from my settings:
DropObjectsFirst: true ExistingData: Replace All table options are set to true . No matter what I do the package always appends the data from the source to the destination database.