???Version view??? for tables\layers,

9715
32
Jump to solution
04-08-2014 02:49 AM
by Anonymous User
Not applicable
Original User: Jamal432@gmail.com

???Version view??? for tables\layers,

I couldn???t figure out how particular tables\layers are given the ???Version view??? property while others don???t have it

For example, in the screenshot below, the ???project??? table has this property

[ATTACH=CONFIG]32904[/ATTACH], [ATTACH=CONFIG]32905[/ATTACH]

In return, the ???companies??? table doesn???t have it.

[ATTACH=CONFIG]32906[/ATTACH], [ATTACH=CONFIG]32907[/ATTACH]


Form where this property (versions view) is set?


Thank you

Best

Jamal
0 Kudos
32 Replies
JamalNUMAN
Legendary Contributor
Jamal,

I read through the thread, and I notice that you are always logged into your sqlserver express instance as a user that is an admin, and therefore are mapped to the DBO user.

This maybe where the issue is, specifically with the sqlserver DBO user mapping when attempting to create the view during register as versioned.

The oracle case works because it does not have the same promotion semantics, my theory is that a dbms user would also work correctly on sqlserver enterprise, or as an OSA user who has not been granted admin privileges in sqlserver express.

This issue should be logged with support.

The hasVersioned view property is derived internally from the geodatabase metadata for the table (sde_table_registry.imv_view_name).

"System tables of a geodatabase in SQL Server"
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002q00000080000000

Colin


Thanks Colin for the input.

Then what is the solution for this issue? What should I do to have the version view created as any table is created?
----------------------------------------
Jamal Numan
Geomolg Geoportal for Spatial Information
Ramallah, West Bank, Palestine
0 Kudos
by Anonymous User
Not applicable
Original User: mboeringa2010

The Version View is core issue at our workflow as it includes all the updates implemented on the business table. Our web mapping application (Geocortex) has the ability to connect between service layer and any SQL\Oracle tables. We are used to connect this service layer with the Version view as it includes all the updates.

...

what other options do we still have to create the Version view?


If Colin is right, switching to a non-DBO user for creating and maintaining all of your geodatabase Feature Classes and Tables, should solve the issue. E.g. create a user "Utility" with similarly named schema for storing all of your utility data (gas, water, electricity).

This is also recommended practice by ESRI! You shouldn't be storing GIS data under the DBO schema.

E.g., see this excerpt from this Help page:

"It is recommended that the geodatabase administrator and its schema only be used to manage and store the ArcSDE geodatabase repository. You should create separate user schemas in which to store your data objects, such as feature classes and raster datasets. Following the practice of storing only system tables in the geodatabase administrator's storage space simplifies the management of the geodatabase and makes it easier or you to delete the geodatabase from your database if you ever decide to do so."
0 Kudos
JamalNUMAN
Legendary Contributor
If Colin is right, switching to a non-DBO user for creating and maintaining all of your geodatabase Feature Classes and Tables, should solve the issue. E.g. create a user "Utility" with similarly named schema for storing all of your utility data (gas, water, electricity).

This is also recommended practice by ESRI! You shouldn't be storing GIS data under the DBO schema.

E.g., see this excerpt from this Help page:

"It is recommended that the geodatabase administrator and its schema only be used to manage and store the ArcSDE geodatabase repository. You should create separate user schemas in which to store your data objects, such as feature classes and raster datasets. Following the practice of storing only system tables in the geodatabase administrator's storage space simplifies the management of the geodatabase and makes it easier or you to delete the geodatabase from your database if you ever decide to do so."


Thanks Macro.

This is how I have started my spatil SQL databases.

1. I created the database from the �??SQL Server Management Studio�?� accessed with sa\***

[ATTACH=CONFIG]32981[/ATTACH], [ATTACH=CONFIG]32982[/ATTACH]

2. This database is enabled using the �??enable enterprise geodatabase (data management)�?� tool

[ATTACH=CONFIG]32983[/ATTACH], [ATTACH=CONFIG]32984[/ATTACH]

3. After that, any created layer\table in that database carries the DBO. Next I add users to this database.

[ATTACH=CONFIG]32985[/ATTACH]

Now, how can I �??switch to non-DBO�?� user or �??create a user utility�?� for the Q database? How is this different from adding a user?
----------------------------------------
Jamal Numan
Geomolg Geoportal for Spatial Information
Ramallah, West Bank, Palestine
0 Kudos
by Anonymous User
Not applicable
Original User: mboeringa2010

Now, how can I �??switch to non-DBO�?� user or �??create a user utility�?� for the Q database? How is this different from adding a user?


Jamal,

Assuming you use SQL Server with Operating System authentication (which seems recommended), you need to first create a Windows Operating System account, by using the tools in Windows for that, e.g. an account called "Utility".

Then open ArcCatalog logged on as an Administrator (or by right clicking and choosing "Run As Administrator" when you are under restricted account in Windows), and create a new user by right clicking the Database Connection / Administration / Add User, using the same name as the newly created Windows account, e.g. "Utility". Select the checkbox "Create Operating System Authenticated User". The tool will create both a user and associated schema for storing data.

Now login to Windows on your computer as the user you just created, and add any Feature Classes or Tables you desire, they will now be stored in the "Utility" schema in SQL Server, and carry the "Utility" prefix in ArcCatalog, instead of DBO.
0 Kudos
JamalNUMAN
Legendary Contributor
Jamal,

Assuming you use SQL Server with Operating System authentication (which seems recommended), you need to first create a Windows Operating System account, by using the tools in Windows for that, e.g. an account called "Utility".

Then open ArcCatalog logged on as an Administrator (or by right clicking and choosing "Run As Administrator" when you are under restricted account in Windows), and create a new user by right clicking the Database Connection / Administration / Add User, using the same name as the newly created Windows account, e.g. "Utility". Select the checkbox "Create Operating System Authenticated User". The tool will create both a user and associated schema for storing data.

Now login to Windows on your computer as the user you just created, and add any Feature Classes or Tables you desire, they will now be stored in the "Utility" schema in SQL Server, and carry the "Utility" prefix in ArcCatalog, instead of DBO.


Thanks Macro for the prompt help,

1. The Authentication mode of my SQL server is set to be �??mixed�?� and thus databases can be either accessed by windows or SQL credentials.

�?� Windows: jamal\***
�?� SQL: sa\***

[ATTACH=CONFIG]32989[/ATTACH]

2. I accessed the Q database with the �??operating system authentication�?� (jamal\***) and added a user with same logins as windows (jamal\***)

[ATTACH=CONFIG]32990[/ATTACH]

3. I tried to create layer\table BUT again no version view is created

[ATTACH=CONFIG]32991[/ATTACH]

Where might be my mistake here?
----------------------------------------
Jamal Numan
Geomolg Geoportal for Spatial Information
Ramallah, West Bank, Palestine
0 Kudos
by Anonymous User
Not applicable
Original User: asrujit

Your OS Authenticated user may also have sysadmin, which won't help in testing this.

Create any new Database authenticated user, grant it the necessary permissions and then use it for testing this.

I tested at my end, but that still didn't work.
0 Kudos
MarcoBoeringa
MVP Regular Contributor
3. I tried to create layer\table BUT again no version view is created

[ATTACH=CONFIG]32991[/ATTACH]

Where might be my mistake here?


Jamal,

Recycling your existing administrative "Jamal" account won't help, as Asrujit pointed out, as it likely already has sysadmin priviliges. Clearly, the data is still ending up under the DBO schema when you use this "Jamal" account, as your screenshot show that.

Create an entirely new restricted local or Windows domain account / login, and use that to create a new user in SQL Server using the Add User option in ArcCatalog with OS authentication, or alternatively follow Asrujit advice of creating a new database user if using database authentication, with just minimal privileges as required by ArcGIS.

See these Help pages also:

A comparison of Windows and database authentication in SQL Server

Create Database User (Data Management)
0 Kudos
by Anonymous User
Not applicable
Original User: Jamal432@gmail.com

Jamal,

Recycling your existing administrative "Jamal" account won't help, as Asrujit pointed out, as it likely already has sysadmin priviliges. Clearly, the data is still ending up under the DBO schema when you use this "Jamal" account, as your screenshot show that.

Create an entirely new restricted local or Windows domain account / login, and use that to create a new user in SQL Server using the Add User option in ArcCatalog with OS authentication, or alternatively follow Asrujit advice of creating a new database user if using database authentication, with just minimal privileges as required by ArcGIS.

See these Help pages also:

A comparison of Windows and database authentication in SQL Server

Create Database User (Data Management)


Many thanks Asrujit and Marco for the massive efforts

I accessed my Q database with �??operating system authentication�?� (jamal\***) and then I tried to add user (Ali) but I got the error below

[ATTACH=CONFIG]32998[/ATTACH], [ATTACH=CONFIG]32999[/ATTACH], [ATTACH=CONFIG]33000[/ATTACH]

In return, I have created an �??operating system authentication�?� user (Amjad\***) but I couldn�??t access the Q database with it.

[ATTACH=CONFIG]33001[/ATTACH]

What issues should I consider now? I couldn�??t leave this square.
0 Kudos
AsrujitSengupta
Regular Contributor III
In the "Create Database User" tool...uncheck the option 'Create Operating System Authenticated User(optional)'. It will create a Database Authenticated user and can be used to test the issue.
0 Kudos
by Anonymous User
Not applicable
Original User: mboeringa2010

In the "Create Database User" tool...uncheck the option 'Create Operating System Authenticated User(optional)'. It will create a Database Authenticated user and can be used to test the issue.


Alternatively, since "Ali" is a local account user specific to this computer, you should enter:

YOUR_COMPUTER_NAME\Ali

instead of just "Ali" as the user name.

If instead, this had been a Domain Account, you should have followed the instruction in the error message in the screenshot your posted:

DOMAIN_NAME\Ali

By the way:
For storing data in your geodatabase, I would refrain from using real names for the accounts you are going to use for storing the data. Instead, use "headless" accounts like: "GIS", "Utility", "Roads" or whatever suits your needs.
0 Kudos