I have an SQL Server 2005 database that I'm trying to create using script.
Everything works fine, but when I click on "Database Diagrams" I get an
error message that there is no database owner, and of course when I show the
Database Properties, the database was created without one. Is there any way
to ALTER AUTHORIZATION to a default owner or system administrator, something
valid?
Although I am in the DBO role, whenever I create an object I am put in as the object owner. For the way our database is set up, all of our objects are owned by DBO, and it can be a pain to have to remember to set the owner when creating an object. In 6.5, if you were aliased as dbo, all objects you created were owned by dbo. This is the functionality I'm looking for.
Is there any way to have dbo be the default owner of an object when it is created? Again, I am in the dbo role.
HiOverview - non-sysadmin access to SQL 2k box using 2k5 tools. Not used 2k in over a year,Any way to set the default owner for objects created by a user? So if user x runs: CREATE TABLE mytable ( mycol BIT ) it is owned by dbo not x (dbo.mytable not x.mytable)? Note I can't (or won't for now anyway) change the DDL above. I also don't believe I can do this with the SSMS tools (schema <> owner). I also can't use sp_adduser...So 2k comliant T-SQL or at a push SMO only please!Ta
I'm getting the "This database does not have a valid dbo user or you do not have permissions to impersonate the dbo user,...." error message when trying to add a Database Diagram from Visual Studio Server Explorer.
I can add the diagram without a problem from SQL Server Management Studio Express CTP.
When I view the properties of the database in VS, the owner shows as XYZMyOldUserName. This is wrong. I just added this database to a new project.
When I view the properties of the database in SSMSE, the owner shows as XYZMyNewUserName. This is correct. It shows the name I am logged onto the PC with.
I'm logged onto a domain using Active Directory. I renamed my user logon name from MyOldUserName to MyNewUserName a couple weeks ago. Now, VS is still picking up that old name somewhere and, despite it showing properly in SSMSE, it does not show properly in VS.
Where is that old user name stored? Why does it essentially show the database as being owned by two different users? (well, at least, the same user with two different names.)
If i create a database in sql express in windows authentication mode, the database owner is in the format of 'MACHINENAMEUSERNAME'. If i connect this database to iis server i got login failed error message.
This is my connection string in my web.config : Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=dbsgh;Data Source=software92sqlexpress
I solved this problem by creating a login in sqlexpress called 'software92/aspnet' and creating a user for my database named aspnet under 'software92/aspnet' login. Then i changed the usrename in directory security of my iis virtual directory to 'software92/aspnet'. This solves my problem. But i think i m solving this problem in a wrong way. I think i should create that database under default owner. Who is the default owner?
I dont know the correct procedure to solve this. Please help.
/* for the google index */ALTER TABLEDEFAULT COLUMNDEFAULT VALUEI've worked out several stored procedures for altering the default columnvalues in a table. They were compiled from books and code snippets foundhere. It was a pain to work out so I've decided to share my work andresearch here. This post is just my way of saying thanks to several othershere for posting with their wisdom and intelligence.MichaelsimpsonAT(dot)cts(dot)comThis procedure gets the constraint name. If you use the design view tosetup a default value, you won't know the system assigned constraint name.This proc makes it an non issue. This code was gleened from this newsgroup.CREATE PROCEDURE [DBO].[GetConstraintName](@tablename sysname,@columnName sysname,@constraintName sysname OUTPUT)asSELECT@constraintName = o1.nameFROMsysobjects o1INNER JOINsyscolumns c ON o1.id = c.cdefaultINNER JOINsysobjects o2 ON o1.parent_obj = o2.idWHERE (o2.name = @tablename) AND (c.name = @columnName)This procedure changes the default value for a column that is a numeric. Ituses the previously define stored procedure to get the constraint name. Atext version of this procedure can be created by removing the cast, definingthe input parameter "newConstraint" as varchar(255).CREATE PROCEDURE [dbo].[ChangeIntConstraint](@tableName sysname,@columnName sysname,@newConstraint int)ASDeclare @conName sysnameexec GetConstraintName @tableName, @columnName, @constraintName = @conNameOUTdeclare @sql nvarchar(1024)set @sql = 'ALTER TABLE ' + @tableName + ' drop constraint ' + @conNameexec(@sql)set @sql = 'ALTER TABLE ' + @tableName + ' ADD CONSTRAINT ' + @conName + 'DEFAULT (' + CAST(@newConstraint AS varchar(255)) + ') FOR ' + @columnNameexec(@sql)
I know that the correct syntax to set the default on a column in SQL Server 2005 is:
Alter Table <TableName> Add Constraint <ConstraintName> Default <DefaultValue> For <ColumnName>
But from what I can gather, the SQL-92 syntax is:
Alter Table <TableName> Alter Column <ColumnName> Set Default <DefaultValue>
This generates an error on SQL Server 2005.
Am I wrong about the standard syntax for this statement? If this is the standard, why doesn't SQL Server 2005 support it? I am trying to avoid code that will only work on certain database managers.
I have a integer column which has Default value alredy defined. How do i alter this column so that it's defult value will be removed. I want to do this using T-SQL statement. Not through design mode.
how can you alter a table so that you can add a default value whenever the field is NULL? for example, whenever the table is brought up in a query, NULL is replaced with UNKNOWN
I can't seem to get the syntax correct for ALTERing an existing column with a default constraint. I've been to Help and BOL. There are examples that show how to use the ALTER command to add a column with a default constraint but not how to do it on an existing column.
I have a default constratint on DateColumn getdate()-1
I have used enterprise manager to update it to yesterday's date everyday.
I would like to have a SQL which can check for the date in the system or even a trigger which checks when the date changes the constraint is updated itself. If this is not possible I would like to have a stored procedure which I will schedule to run as a job everyday once.
So if today 6/12/2006, the default value in the Datecolumn should be 6/11/2006.
This gives me a error, i tried but could not fix the bug.
Alter Table TABLE_NAME Alter Constraint DF_DATECOLUMN Default getdate()-1
I have a integer column which has Default value alredy defined. How do i alter this column so that it's defult value will be removed. I want to do this using T-SQL statement. Not through design mode.
Hi: I need to change a column's datatype from tinyint to int as follows: alter table tableName alter column column1 int
but with error <<'DF__LandMarks__color__6A50C1DA' is depending on it.>>
However, this old default is not part of the constraint. Thus, the only way is to delete it from sysobjects.
unfortunately, the following code I have to commented since they could only be executed line by line, not within a begin...end block. --exec master.dbo.sp_configure 'allow updates', 1 --reconfigure with override --delete from sysobjects -- where name = 'DF__LandMarks__color__6A50C1DA' -- and type = 'D' --exec master.dbo.sp_configure 'allow updates', 0 --reconfigure with override
I need to update 10 server around 2500 databases with this change. I have looked INFORMATION_SCHEMA related views, but not found default related, maybe I missed something.
Is there a way, in the ALTER statement, to have the value default to the current date -- GETDATE() -- anytime a row is inserted w/out an explicit value for the column.
I'm trying to write some code that will alter column to change its type, in this case from Nvarchar to Int, but I'm not sure if there will be any columns that are uncovertable (say, there's a string that does not have an Int value). In this case, I'd like it to default to 0. Is there a way to write a T-SQL statement to do this, or will I have to write an UPDATE stamement first to clear out any problem cases?
Hi all, I am trying to do a very basic ALTER Command and am trying to change its DEFAULT value. Code below is what I currently have:
Code Snippet
ALTER TABLE Table_1
ALTER COLUMN TEST VARCHAR(1000) NULL DEFAULT 2
Thanks, Onam.
*UPDATE* I found this code but are there alternative methods? Additionally, if I was to update its DEFAULT value again how would I go about doing that? Do I first have to remove the CONSTRAINT and then run the command?
Code Snippet
ALTER TABLE Table_1 ADD CONSTRAINT DF_Albumns_Comment DEFAULT 2 FOR TEST
I have a table with ~30M records. I'm trying to add a column to the existing table with default value and have noticed following ... When using alter with default value- (Executes more than 45 min and killed forcefully)
ex: Â ALTER TABLE dbo.Table_X Add is_Active BIT CONSTRAINT DF_Table_X_is_Active DEFAULT 'FALSE' NOT NULL GO
When using update command after adding column with alter (without default value) it completes is 5 min.
ex: Â ALTER TABLE dbo.Table_X Add is_Active BIT NULL GO UPDATE Table_X SET is_Active = 0 WHERE is_Active IS NULL GO
Why there is so much of difference in execution times ? I was just trying to understand internal behavior of the SQL in these two scenarios.Â
For reasons that are not relevant (though I explain them below *), Iwant, for all my users whatever privelige level, an SP which createsand inserts into a temporary table and then another SP which reads anddrops the same temporary table.My users are not able to create dbo tables (eg dbo.tblTest), but arepermitted to create tables under their own user (eg MyUser.tblTest). Ihave found that I can achieve my aim by using code like this . . .SET @SQL = 'CREATE TABLE ' + @MyUserName + '.' + 'tblTest(tstIDDATETIME)'EXEC (@SQL)SET @SQL = 'INSERT INTO ' + @MyUserName + '.' + 'tblTest(tstID) VALUES(GETDATE())'EXEC (@SQL)This becomes exceptionally cumbersome for the complex INSERT & SELECTcode. I'm looking for a simpler way.Simplified down, I am looking for something like this . . .CREATE PROCEDURE dbo.TestInsert ASCREATE TABLE tblTest(tstID DATETIME)INSERT INTO tblTest(tstID) VALUES(GETDATE())GOCREATE PROCEDURE dbo.TestSelect ASSELECT * FROM tblTestDROP TABLE tblTestIn the above example, if the SPs are owned by dbo (as above), CREATETABLE & DROP TABLE use MyUser.tblTest while INSERT & SELECT usedbo.tblTest.If the SPs are owned by the user (eg MyUser.TestInsert), it workscorrectly (MyUser.tblTest is used throughout) but I would have to havea pair of SPs for each user.* I have MS Access ADP front end linked to a SQL Server database. Forreports with complex datasets, it times out. Therefore it suit mypurposes to create a temporary table first and then to open the reportbased on that temporary table.
Hi people,I?m trying to alter a integer field to a decimal(12,4) field in MSACCESS 2K.Example:table : item_nota_fiscal_forn_setor_publicofield : qtd_mercadoria integer NOT NULLALTER TABLE item_nota_fiscal_forn_setor_publicoALTER COLUMN qtd_mercadoria decimal(12,4) NOT NULLBut, It doesn't work. A sintax error rises.I need to change that field in a Visual Basic aplication, dinamically.How can I do it? How can I create a decimal(12,4) field via script in MSACCESS?Thanks,Euler Almeida--Message posted via http://www.sqlmonster.com
i know the basics about how to manipulate SQL server database, i mean the code itself, but there are few other things which i don't understand.
first, databases which i have created by my own, i can use only when i have the website itself open (i get an icon at the taskbar) but database such as 'master' which came with the sqlserver, i can acess always even without running the page with visual studio first. i have no idea why.
also, when i try to connect my website using my ip, i can only do it with the master database.. those i created by my own i can only connect when i enter the URL page as localhost.
I don't understand what's USER INSTANCE for and how do i really set a database username and password
can someone exaplin a little? thanks, because i am very confused .
Hi: I'm trying to connect to a data base of "sql server 2005 enterprise" named BCR.The server name is "server1"I'm using Windows Authentication to connect to serverThe operating system is Windows Server 2003 Enterprise Edition Service Pack 1 When I run the aspx I get this error at line 21 System.Data.OleDb.OleDbException: Invalid authorization specification Invalid connection string attribute at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvider() at System.Data.OleDb.OleDbConnection.Open() at ASP.pruebaLeeSqlServer_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in Z:DigitalpruebaLeeSqlServer.aspx:line 21 This is my code: Dim str2 As String = "Provider=SQLNCLI; Server = server1; Database = BCR"Dim cnn2 As OleDbConnection = New OleDbConnection(str2)Dim cmd2 As New OleDbCommand()Dim drd2 As OleDbDataReaderTry cnn2.Open() cmd2.Connection = cnn2''''''''''''''''''''''''''''''''''''''''''''''''''''line 21 cmd2.CommandText ="SELECT LastName FROM Employees" drd2 = cmd2.ExecuteReader Do While drd2.Read %> <%=drd2.GetString(0)%><br> <% Loop drd2.Close()Catch exc1 As Exception %> <%=exc1.ToString()%> <%Finally cnn2.Close() End Try What could be wrong?Do I need enable permission for asp.net in sql server?how I can do it? Thanks!!
I have a web application (ISAPI) that accesses a SQL Server 2000 (sp3) database in the same machine as the Web Server (IIS 6). Windows 2003 Standard Edition is the operating System. So, when users access the aplication through the web it runs ok until display the error message "Invalid authorization specification" or, sometimes, another message about failure to inform ODBC DSN, although I dont use ODBC.
When the error occurs, the user press F5 in the browser and the operation goes ok. It's an intermitent and curious error.
I am trying to develope a authorization matrix for cpmpany of 75 employees, with different roles and permissions for roles to some applications like CRM , diiffrent folders,databases etc. I tried to find some informaton about this auhtorizaion matrix.
I'm trying to connect to a data base of "sql server 2005 enterprise" named BCR. The server name is "server1" I'm using Windows Authentication to connect to server The operating system is Windows Server 2003 Enterprise Edition Service Pack 1
When I run the aspx I get this error at line 21
--------------------------------------------------------------- System.Data.OleDb.OleDbException: Invalid authorization specification Invalid connection string attribute at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvider() at System.Data.OleDb.OleDbConnection.Open() at ASP.pruebaLeeSqlServer_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in Z:DigitalpruebaLeeSqlServer.aspx:line 21
------------------------------------------------------------------ Dim str2 As String = "Provider=SQLNCLI; Server = server1; Database = BCR" Dim cnn2 As OleDbConnection = New OleDbConnection(str2) Dim cmd2 As New OleDbCommand() Dim drd2 As OleDbDataReader Try cnn2.Open() cmd2.Connection = cnn2''''''''''''''''''''''''''''''''''''''''''''''''''''line 21 cmd2.CommandText ="SELECT LastName FROM Employees" drd2 = cmd2.ExecuteReader Do While drd2.Read %> <%=drd2.GetString(0)%><br> <% Loop drd2.Close() Catch exc1 As Exception %> <%=exc1.ToString()%> <% Finally cnn2.Close() End Try ------------------------------------------------------------------
What could be wrong? Do I need enable permission for asp.net in sql server? how I can do it?
i want to implement authorization with windows authentication and don'thave the slightest clue of how to do this implementation. the basicwindows authentication for this .NET application is already setup. myproblem lies within my inability to manipulate the username captured inthe authentication process and my knowledge of how IIS is involved.specifically, i have the following questions:1) what object(s) can be used so that the user's username can bemanipulated for the authorization process?2) in order to apply roles, do the users need to be placed in groups inIIS? if so, how does this work?3) is all the code that the application uses for roles in web.config?or does global.asax play a role in this matter?4) does the web.config file know to communicate with IIS because theauthorization type is set to windows?5) once authorization is in place, can a section of an .aspx file bevisible to a group or can only entire files be secured for a group?as you can see, i'm trying to figure out the relationship betweenauthorization and windows authentication so any help would beappreciated.thanks,johne: Join Bytes!
We are testing our product on Windows Vista with SQL Server 2005 SP2 and are encountering an "invalid authorization specification". We make the connection through a Windows service using a standard ADO connection. I have tried changing the provider in the connection string to SQLNCLI without any success. The application is written in Delphi 5 and has worked on previous versions of Windows running SQL Server 2005.